Обзор развертывания Ollama на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Ubuntu (рекомендуемые версии 22.04 или 24.04) или Debian. При использовании Ubuntu 25.04 установка не поддерживается из-за отсутствия официальной поддержки CUDA для этой версии.
-
Права доступа: Права суперпользователя (
sudo) для установки системных пакетов и драйверов. -
Аппаратное обеспечение: Наличие графического процессора NVIDIA (для использования ускорения CUDA).
-
Порты:
-
80/tcp— для получения SSL-сертификатов. -
443/tcp— основной доступ к приложению через HTTPS.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | ollama |
| Домен | hostkey.in |
| Полный шаблон | ollama{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/root/nginx— конфигурационные файлы Docker Compose для прокси-сервера. -
/etc/systemd/system/— системный файл службы Ollama (ollama.service). -
/data/nginx/user_conf.d/— пользовательские конфигурации Nginx. -
/data/nginx/nginx-certbot.env— переменные окружения для SSL.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: Обновление пакетов
apt, установка компилятораgccи необходимых библиотек ядра (для Ubuntu 22.04). -
Установка драйверов NVIDIA и CUDA:
-
Загрузка и установка репозитория
cuda-keyring. -
Установка пакетов
cudaиcuda-toolkit. -
Настройка переменных окружения
PATHиLD_LIBRARY_PATHв файле.bashrc. -
Удаление модуля
nouveauдля корректной работы драйвера. -
Настройка среды контейнеризации: Установка
nvidia-docker2(для Ubuntu 22.04) илиnvidia-container-toolkit(для Ubuntu 24.04). -
Установка Ollama: Загрузка и запуск официального установочного скрипта через
curl. Создание системного пользователяollama. -
Настройка службы: Создание и запуск системной службы
systemdдля управления процессом Ollama с поддержкой GPU. -
Развертывание веб-интерфейса: Запуск контейнеров Docker Compose, включающих прокси-сервер Nginx и интерфейс Open WebUI.
Контейнеры Docker и их запуск¶
Приложение использует два основных контейнера:
Open WebUI
-
Имя образа:
ghcr.io/open-webui/open-webui:main -
Имя контейнера:
open-webui -
Тома (volumes):
open-webui:/app/backend/data -
Переменные окружения: настроен доступ к хосту через
host.docker.internal. -
Политика перезапуска:
always.
Nginx (Proxy + Certbot)
-
Имя образа:
jonasal/nginx-certbot:latest -
Имя контейнера:
nginx -
Порты:
80:80,443:443 -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com. -
Политика перезапуска:
unless-stopped.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Установочный скрипт: Выполняет полную настройку драйверов NVIDIA, установку CUDA и конфигурацию переменных окружения в системе.
-
Первоначальная загрузка модели: После запуска службы Ollama автоматически выполняется команда
ollama pull qwen3:14bдля загрузки базовой языковой модели.
Инструкция по обновлению приложения¶
Для обновления основного интерфейса (Open WebUI) необходимо выполнить команду в директории с конфигурацией Docker Compose:
Расположение конфигурационных файлов и данных¶
-
Данные Open WebUI: хранятся в Docker volume
open-webui. -
Конфигурация прокси:
/data/nginx/user_conf.d/ollama{Server_ID}.hostkey.in.conf. -
Сертификаты SSL: хранятся в Docker volume
nginx_secrets.
Доступные порты для подключения¶
443(HTTPS) — основной доступ к веб-интерфейсу через доменное имя.