Обзор развертывания Open WebUI с Ollama на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Ubuntu.
-
Наличие графического ускорителя NVIDIA (для использования аппаратного ускорения).
-
Доступ к интернету для загрузки пакетов, драйверов и моделей.
-
Права суперпользователя (root) для установки системных компонентов.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | gemma31b |
| Домен | hostkey.in |
| Полный шаблон | gemma31b{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Развертывание системы выполняется в несколько этапов:
-
Подготовка операционной системы:
-
Обновление кэша пакетов и обновление всех установленных системных компонентов до последних версий.
-
Установка ядра Linux HWE (Hardware Enablement).
-
Установка утилиты
ubuntu-drivers-common. -
Настройка графического ускорителя NVIDIA:
-
Проверка наличия оборудования NVIDIA в системе.
-
Автоматическая установка рекомендуемых драйверов NVIDIA.
-
Установка среды исполнения моделей (Ollama):
-
Загрузка и запуск официального установочного скрипта Ollama.
-
Настройка системной службы
ollamaдля автоматического запуска при загрузке системы. -
Загрузка языковой модели
gemma4:31b. -
Развертывание контейнера интерфейса:
-
Установка среды выполнения Docker (через пакетный менеджер).
-
Запуск контейнера Open WebUI с подключением к локальному сервису Ollama.
Контейнеры Docker и их запуск¶
В системе развернуты следующие контейнеры:
Open WebUI
-
Образ:
ghcr.io/open-webui/open-webui:main -
Сеть: Режим хоста (
host) для прямого взаимодействия с локальными сервисами. -
Тома (volumes):
open-webui:/app/backend/data(хранение пользовательских данных). -
Переменные окружения:
OLLAMA_BASE_URL=http://127.0.0.1:11434. -
Политика перезапуска: Всегда (
always).
Nginx Proxy (Certbot)
-
Образ:
jonasal/nginx-certbot:latest -
Сеть: Режим хоста (
host). -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt(хранение SSL-сертификатов). -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d(пользовательские конфигурации Nginx). -
Политика перезапуска: Не останавливаться (
unless-stopped).
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия по настройке окружения:
-
Настройка проксирования: В конфигурационный файл Nginx вносится автоматическая запись
proxy_pass http://127.0.0.1:8080;внутри блокаlocation /, что обеспечивает перенаправление трафика с порта 443 на внутренний порт приложения. -
Управление сертификатами: Использование контейнера Nginx-Certbot для автоматического получения и обновления SSL-сертификатов через Let's Encrypt.
Инструкция по обновлению приложения¶
Для обновления основного интерфейса используется стандартный метод Docker Compose:
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь к расположению |
|---|---|
| Конфигурация Nginx (пользовательская) | /data/nginx/user_conf.d/ |
| Данные Open WebUI (внутри Docker) | open-webui (именованный том) |
| Файлы конфигурации SSL | В томе nginx_secrets |
| Конфигурация Nginx (compose) | /root/nginx/compose.yml |
Доступные порты для подключения¶
| Порт | Назначение | Протокол |
|---|---|---|
443 | Внешний доступ к интерфейсу через HTTPS | TCP |
11434 | Локальный API сервиса Ollama | TCP |
8080 | Внутренний порт приложения (через прокси) | TCP |