Обзор развертывания OpenWebUI с Ollama на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы и сетевые настройки:
-
Операционная система: Ubuntu (рекомендуется версия 22.04).
-
Драйверы: Наличие графического ускорителя NVIDIA и установленных драйверов (автоматическая установка через
ubuntu-drivers autoinstall). -
Ядро: Установлено HWE kernel (
linux-generic-hwe-22.04). -
Порты:
-
Внутренний порт приложения:
8080 -
Внешний порт (HTTPS):
443
-
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | gemma26b |
| Домен | hostkey.in |
| Полный шаблон | gemma26b{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные данные и конфигурации распределены по следующим путям:
-
/root/nginx/— директория с файлами Docker Compose для прокси-сервера. -
/data/nginx/user_conf.d/— директория с пользовательскими конфигурациями Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для Certbot.
Процесс установки приложения¶
Развертывание включает в себя следующие этапы:
-
Обновление системных пакетов и установка HWE ядра.
-
Установка драйверов NVIDIA (при наличии оборудования) и перезагрузка системы.
-
Установка и запуск сервиса Ollama.
-
Загрузка языковой модели
gemma4:26b. -
Развертывание контейнера OpenWebUI.
-
Настройка прокси-сервера Nginx с автоматическим получением SSL-сертификатов через Certbot.
Права доступа и безопасность¶
-
Пользователь: Все основные операции выполняются от имени
root. -
Конфигурации Nginx: Файлы в
/root/nginx/compose.ymlимеют права0644, владелец —root:root. -
Директория Nginx: Директория
/root/nginxимеет права доступа0755.
Базы данных¶
В данной конфигурации база данных не развертывается отдельно; данные приложения хранятся в Docker Volume.
Контейнеры Docker и их запуск¶
OpenWebUI¶
-
Имя образа:
ghcr.io/open-webui/open-webui:main -
Имя контейнера:
open-webui -
Режим сети:
host -
Тома (volumes):
open-webui:/app/backend/data -
Переменные окружения:
OLLAMA_BASE_URL=http://127.0.0.1:11434
-
Политика перезапуска:
always
Nginx (через Docker Compose)¶
-
Имя образа:
jonasal/nginx-certbot:latest -
Режим сети:
host -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
-
-
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com(из файла.env)
-
Политика перезапуска:
unless-stopped
Инструкция по обновлению приложения¶
Обновление выполняется через pull и перезапуск контейнеров:
Настройки прав¶
Права на директории и файлы устанавливаются следующим образом:
-
/root/nginx:0755(владелецroot) -
Конфигурационные файлы в
/root/nginx/:0644(владелецroot)
Расположение конфигурационных файлов и данных¶
-
Данные OpenWebUI: Хранятся в Docker Volume с именем
open-webui. -
Конфигурация Nginx: Пользовательские файлы
.confнаходятся в/data/nginx/user_conf.d/.
Доступные порты для подключения¶
| Порт | Протокол | Описание |
|---|---|---|
443 | HTTPS | Внешний доступ к интерфейсу через Nginx |
11434 | HTTP | Локальный API Ollama (доступен внутри хоста) |
8080 | HTTP | Внутренний порт приложения OpenWebUI |