~/tools / Локальная LLM на своём сервере / Ollama systemd Override Generator

Ollama systemd Override Generator — Соберите override для systemd с настройками Ollama: OLLAMA_HOST, OLLAMA_MODELS, KEEP_ALIVE и другое

Соберите override для systemd, который задаёт переменные окружения Ollama на сервере с Linux: адрес прослушивания, каталог моделей, время хранения моделей в памяти, длину контекста, параллельные запросы, Flash Attention, тип K/V-кэша, дополнительные origin, только локальный режим и HTTPS-прокси. Каждая переменная взята из официального FAQ Ollama, а каждое значение заключается в кавычки так, как его читает systemd. Данные не покидают ваш браузер.

Переменные окружения

Пустые поля не записываются. Серый текст — значение по умолчанию из FAQ Ollama.

Override для systemctl edit

Вставьте это в редактор, который открывает sudo systemctl edit ollama.service, между двумя строками комментария. Файл сохраняется как /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"

Команды

Выполните их на сервере в таком порядке. Последняя показывает переменные, полученные службой. Если вы меняете OLLAMA_MODELS, первые две создают каталог и передают его пользователю ollama; mkdir -p — наше дополнение, потому что chown завершается ошибкой на несуществующем каталоге.

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

Переменные и значения по умолчанию приведены по FAQ Ollama, правила заключения в кавычки — по руководству systemd.exec; проверено 2026-11-03. FAQ Ollama / systemd.exec: Environment=

Всё выполняется в вашем браузере. Введённые данные никуда не отправляются.

Когда Ollama работает в Linux как служба systemd, официальный FAQ предлагает задавать её переменные окружения командой systemctl edit ollama.service: добавьте по одной строке Environment на переменную в секции [Service], сохраните, затем выполните systemctl daemon-reload и systemctl restart ollama. Шаги короткие, но в деталях легко ошибиться. systemd раскрывает спецификаторы, поэтому знак % нужно писать как %%; обратная косая черта или двойная кавычка внутри присваивания в кавычках читается как escape-последовательность; а значение с пробелом нужно заключать в кавычки целиком. Этот инструмент пишет override за вас. Он предлагает только переменные, описанные в FAQ, показывает рядом с каждой документированное значение по умолчанию, заключает каждое присваивание в кавычки как "NAME=value" и удваивает знаки %. Он предупреждает, если значение заставит Ollama слушать на всех сетевых интерфейсах, если число не является целым и если выбран квантованный K/V-кэш при выключенном Flash Attention. Мы проверили результат на Ubuntu 24.04 с systemd 255: вставили его в systemctl edit и убедились, что служба получила каждое значение без изменений, включая пробелы, $, ' и %.

Основная логика этого инструмента открыта под лицензией MIT. github.com/seigo5555/toolkitbox-lib/src/ollama-systemd.ts

Когда пригодится

  • Держать модель в памяти дольше или выгружать её раньше на небольшом VPS с помощью OLLAMA_KEEP_ALIVE
  • Перенести файлы моделей на диск побольше с помощью OLLAMA_MODELS
  • Ограничить Ollama одной загруженной моделью и задать длину контекста по умолчанию для сервера с небольшим объёмом памяти

Как пользоваться

  1. Заполните только те переменные, которые хотите изменить. Пустые поля не записываются, поэтому Ollama сохраняет значения по умолчанию. Серый текст в каждом поле — значение по умолчанию из FAQ.
  2. Прочитайте предупреждения. Адрес прослушивания, отличный от 127.0.0.1 или localhost, делает Ollama доступной с других компьютеров, а FAQ не описывает для неё никакой аутентификации.
  3. Выполните sudo systemctl edit ollama.service, вставьте текст в редактор между двумя строками комментария, сохраните и выйдите. Затем выполните остальные команды: они перезагрузят systemd, перезапустят Ollama и покажут полученные значения.

Вопросы

Где сохраняется файл?

systemctl edit сохраняет его как drop-in файл /etc/systemd/system/ollama.service.d/override.conf и не меняет основной файл юнита. Когда мы запустили команду в Ubuntu 24.04, редактор показал комментарий ### Anything between here and the comment below will become the contents of the drop-in file. Вставьте текст между этим комментарием и комментарием под ним.

Почему каждое значение взято в двойные кавычки?

В документации systemd сказано, что значение с пробелами или знаком равенства нужно заключать в кавычки целиком вместе с присваиванием. Если оформлять все строки одинаково, пути с пробелами и списки вроде OLLAMA_ORIGINS остаются целыми. В документации также сказано, что $ там не имеет особого смысла и передаётся как есть, а % начинает спецификатор, поэтому инструмент пишет %% для буквального %.

Какие символы не принимаются?

Двойные кавычки, обратные косые черты и управляющие символы, например табуляция. Внутри присваивания в кавычках systemd читает их как escape-последовательности или отклоняет, поэтому значение не дошло бы до Ollama в том виде, в каком вы его ввели. Инструмент сообщает о них как об ошибках и пропускает эту строку.

Безопасно ли задавать OLLAMA_HOST равным 0.0.0.0?

Тогда Ollama слушает на всех сетевых интерфейсах, и другие компьютеры могут к ней подключиться. В FAQ сказано, что по умолчанию Ollama привязывается к 127.0.0.1, порт 11434, и не описана никакая аутентификация сервера. Наша рекомендация, а не утверждение из документации: оставьте значение по умолчанию и обращайтесь к Ollama через SSH-туннель или прокси с паролем и HTTPS, а порт 11434 ограничьте в брандмауэре.

Можно ли указать пароль в HTTPS_PROXY?

Инструмент предупреждает, если адрес прокси содержит имя пользователя и пароль. В документации systemd сказано, что переменные окружения не подходят для передачи секретов, потому что значения, заданные для юнита, могут прочитать непривилегированные клиенты. В FAQ также сказано не задавать HTTP_PROXY, потому что Ollama загружает модели только по HTTPS, а HTTP_PROXY может прерывать соединения клиентов, поэтому инструмент предлагает только HTTPS_PROXY.

Отправляется ли что-нибудь на сервер?

Нет. Override собирается в вашем браузере.

Похожие статьи

Похожие