~/tools / Lokalny LLM na własnym serwerze / Ollama systemd Override Generator

Ollama systemd Override Generator — Zbuduj override systemd dla Ollama: OLLAMA_HOST, OLLAMA_MODELS, KEEP_ALIVE i więcej

Zbuduj override systemd, który ustawia zmienne środowiskowe Ollama na serwerze z Linuksem: adres nasłuchiwania, katalog modeli, czas przechowywania modeli w pamięci, długość kontekstu, równoległe żądania, Flash Attention, typ pamięci podręcznej K/V, dodatkowe originy, tryb wyłącznie lokalny i proxy HTTPS. Każda zmienna pochodzi z oficjalnego FAQ Ollama, a każda wartość jest ujęta w cudzysłów tak, jak odczytuje ją systemd. Nic nie opuszcza Twojej przeglądarki.

Zmienne środowiskowe

Puste pola nie są zapisywane. Szary tekst to wartość domyślna podana w FAQ Ollama.

Override dla systemctl edit

Wklej to w edytorze, który otwiera sudo systemctl edit ollama.service, między dwa wiersze komentarza. Plik jest zapisywany jako /etc/systemd/system/ollama.service.d/override.conf.

[Service]
Environment="OLLAMA_KEEP_ALIVE=10m"
Environment="OLLAMA_CONTEXT_LENGTH=8192"
Environment="OLLAMA_MAX_LOADED_MODELS=1"
Environment="OLLAMA_NO_CLOUD=1"

Polecenia

Uruchom je na serwerze w tej kolejności. Ostatnie pokazuje zmienne otrzymane przez usługę. Gdy zmieniasz OLLAMA_MODELS, pierwsze dwa tworzą katalog i przekazują go użytkownikowi ollama; mkdir -p to nasz dodatek, ponieważ chown kończy się błędem na nieistniejącym katalogu.

sudo systemctl edit ollama.service
sudo systemctl daemon-reload
sudo systemctl restart ollama
systemctl show ollama --property=Environment

Zmienne i wartości domyślne zgodne z FAQ Ollama oraz zasady ujmowania w cudzysłów z podręcznika systemd.exec, sprawdzone dnia 2026-11-03. FAQ Ollama / systemd.exec: Environment=

Wszystko dzieje się w Twojej przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

Gdy Ollama działa w Linuksie jako usługa systemd, oficjalne FAQ każe ustawiać jej zmienne środowiskowe poleceniem systemctl edit ollama.service: dodaj po jednym wierszu Environment na zmienną w sekcji [Service], zapisz, a potem uruchom systemctl daemon-reload i systemctl restart ollama. Kroki są krótkie, ale w szczegółach łatwo się pomylić. systemd rozwija specyfikatory, więc znak % trzeba zapisać jako %%; ukośnik odwrotny lub cudzysłów wewnątrz przypisania ujętego w cudzysłów jest odczytywany jako sekwencja ucieczki; a wartość ze spacją trzeba ująć w cudzysłów w całości. To narzędzie pisze override za Ciebie. Oferuje tylko zmienne opisane w FAQ, pokazuje obok każdej udokumentowaną wartość domyślną, ujmuje każde przypisanie w cudzysłów jako "NAME=value" i podwaja znaki %. Ostrzega, gdy wartość sprawiłaby, że Ollama nasłuchuje na wszystkich interfejsach sieciowych, gdy liczba nie jest liczbą całkowitą oraz gdy wybrano skwantyzowaną pamięć podręczną K/V przy wyłączonym Flash Attention. Przetestowaliśmy wynik w Ubuntu 24.04 z systemd 255: wkleiliśmy go do systemctl edit i potwierdziliśmy, że usługa otrzymała każdą wartość bez zmian, w tym spacje, $, ' i %.

Główna logika tego narzędzia jest otwartoźródłowa, na licencji MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-systemd.ts

Zastosowania

  • Trzymać model w pamięci dłużej lub zwalniać go wcześniej na małym VPS-ie za pomocą OLLAMA_KEEP_ALIVE
  • Przenieść pliki modeli na większy dysk za pomocą OLLAMA_MODELS
  • Ograniczyć Ollama do jednego załadowanego modelu i ustawić domyślną długość kontekstu na serwerze z małą ilością pamięci

Jak używać

  1. Wypełnij tylko te zmienne, które chcesz zmienić. Puste pola są pomijane, więc Ollama zachowuje wartości domyślne. Szary tekst w każdym polu to wartość domyślna podana w FAQ.
  2. Przeczytaj ostrzeżenia. Adres nasłuchiwania inny niż 127.0.0.1 lub localhost sprawia, że Ollama jest dostępna z innych komputerów, a FAQ nie opisuje dla niej żadnego uwierzytelniania.
  3. Uruchom sudo systemctl edit ollama.service, wklej tekst w edytorze między dwa wiersze komentarza, zapisz i wyjdź. Potem uruchom pozostałe polecenia, aby przeładować systemd, zrestartować Ollama i sprawdzić otrzymane wartości.

FAQ

Gdzie zapisywany jest plik?

systemctl edit zapisuje go jako plik drop-in, /etc/systemd/system/ollama.service.d/override.conf, i nie zmienia głównego pliku jednostki. Gdy uruchomiliśmy to w Ubuntu 24.04, edytor pokazał komentarz ### Anything between here and the comment below will become the contents of the drop-in file. Wklej tekst między ten komentarz a komentarz pod nim.

Dlaczego każda wartość jest ujęta w cudzysłów?

Dokumentacja systemd mówi, że wartość zawierająca spacje lub znak równości musi mieć cudzysłów wokół całego przypisania. Ujęcie każdego wiersza w ten sam sposób zachowuje ścieżki ze spacjami i listy takie jak OLLAMA_ORIGINS. Dokumentacja mówi też, że $ nie ma tam specjalnego znaczenia, więc jest przekazywany bez zmian, a % rozpoczyna specyfikator, dlatego narzędzie zapisuje %% dla dosłownego %.

Jakie znaki nie są akceptowane?

Cudzysłowy, ukośniki odwrotne i znaki sterujące, takie jak tabulatory. Wewnątrz przypisania ujętego w cudzysłów systemd odczytuje je jako sekwencje ucieczki albo je odrzuca, więc wartość nie dotarłaby do Ollama tak, jak ją wpisano. Narzędzie zgłasza je jako błędy i pomija ten wiersz.

Czy ustawienie OLLAMA_HOST na 0.0.0.0 jest bezpieczne?

Sprawia ono, że Ollama nasłuchuje na wszystkich interfejsach sieciowych, więc inne komputery mogą się z nią połączyć. FAQ mówi, że Ollama domyślnie wiąże się z 127.0.0.1 na porcie 11434 i nie opisuje żadnego uwierzytelniania serwera. Nasza rekomendacja, a nie stwierdzenie z dokumentacji: zostaw wartość domyślną i łącz się z Ollama przez tunel SSH lub proxy z hasłem i HTTPS, a port 11434 ogranicz w zaporze.

Czy mogę podać hasło w HTTPS_PROXY?

Narzędzie ostrzega, gdy adres proxy zawiera nazwę użytkownika i hasło. Dokumentacja systemd mówi, że zmienne środowiskowe nie nadają się do przekazywania sekretów, ponieważ wartości ustawione dla jednostki mogą odczytać klienty bez uprawnień. FAQ każe też unikać ustawiania HTTP_PROXY, ponieważ Ollama pobiera modele wyłącznie przez HTTPS, a HTTP_PROXY może przerywać połączenia klientów, dlatego narzędzie oferuje tylko HTTPS_PROXY.

Czy cokolwiek jest wysyłane na serwer?

Nie. Override jest składany w Twojej przeglądarce.

Powiązane artykuły

Powiązane