Обзор развертывания OpenWebUI на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы и сетевые настройки:
-
Операционная система: Ubuntu (рекомендуется версия с поддержкой HWE ядра).
-
Драйверы: Наличие графического процессора NVIDIA и установленных драйверов для аппаратного ускорения.
-
Порты:
-
443(внешний порт HTTPS) — доступен через прокси-сервер. -
8080(внутренний порт приложения) — используется для связи с прокси. -
11434(порт Ollama) — используется локально контейнером.
-
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется динамический поддомен, формируемый по следующему шаблону:
| Параметр | Значение |
|---|---|
| Префикс | north-mini |
| Домен | hostkey.in |
| Полный шаблон | north-mini{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные данные и конфигурации распределены по следующим путям:
-
/root/nginx— рабочая директория для контейнера Nginx (содержитcompose.yml). -
/data/nginx/user_conf.d— директория с конфигурационными файлами виртуальных хостов Nginx. -
/data/nginx/nginx-certbot.env— файл переменных окружения для SSL-сертификатов.
Процесс установки приложения¶
Развертывание включает в себя следующие этапы:
-
Обновление системных пакетов и установка ядра
linux-generic-hwe-22.04. -
Установка драйверов NVIDIA (при наличии оборудования).
-
Установка и запуск сервиса Ollama.
-
Загрузка языковой модели
north-mini-code-1.0через Ollama. -
Развертывание контейнера OpenWebUI.
-
Настройка прокси-сервера Nginx с автоматическим получением SSL-сертификатов Certbot.
Контейнеры Docker и их запуск¶
В системе развернуты следующие компоненты:
OpenWebUI¶
Контейнер для интерфейса взаимодействия с языковой моделью.
-
Имя образа:
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 (Certbot)¶
Контейнер для управления SSL-сертификатами и проксирования трафика.
-
Имя образа:
jonasal/nginx-certbot:latest -
Порты: Используется режим
host. -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d
-
-
Переменные окружения: Загружаются из файла
/data/nginx/nginx-certbot.env. -
Политика перезапуска:
unless-stopped
Базы данных¶
Приложение использует локальный сервис Ollama для работы с моделями. Данные интерфейса OpenWebUI хранятся в Docker Volume под названием open-webui.
Инструкция по обновлению приложения¶
Обновление выполняется через обновление образов и перезапуск контейнеров:
Также для применения изменений в конфигурации Nginx используется команда:Настройки прав¶
-
Директория
/root/nginxимеет права0755, владелецroot. -
Файл
/root/nginx/compose.ymlимеет права0644, владелецroot.
Доступные порты для подключения¶
| Порт | Назначение | Тип доступа |
|---|---|---|
443 | HTTPS интерфейс OpenWebUI | Внешний (через домен) |
8080 | Локальный порт приложения | Внутренний |
11434 | API Ollama | Локальный |
Запуск, остановка приложения¶
Управление контейнерами осуществляется через Docker Compose в директории /root/nginx:
-
Запуск всех сервисов:
docker compose up -d -
Остановка сервисов:
docker compose down -
Перезагрузка конфигурации Nginx:
docker exec nginx-nginx-1 nginx -s reload