Обзор развертывания North-mini на сервере¶
Предварительные требования¶
Для корректной работы приложения сервер должен соответствовать следующим требованиям:
-
Операционная система: Ubuntu (рекомендуется версия 22.04 LTS).
-
Аппаратное обеспечение: Наличие графического процессора NVIDIA для ускорения вычислений.
-
Доступ: Права суперпользователя (root) для установки системных пакетов и драйверов.
-
Сеть: Открытые порты 80/TCP, 443/TCP (для работы веб-интерфейса через SSL) и 11434/TCP (для локального взаимодействия с Ollama).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | north-mini |
| Домен | hostkey.in |
| Полный шаблон | north-mini{Server_ID_from_Invapi}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов подготовки системы и запуска компонентов:
-
Подготовка операционной системы:
-
Обновление кэша пакетов
aptи обновление всех установленных системных пакетов до актуальных версий. -
Установка ядра HWE (Hardware Enablement) для обеспечения поддержки современного оборудования.
-
Установка утилиты
ubuntu-drivers-common. -
Настройка графического ускорителя NVIDIA:
-
Проверка наличия видеокарты NVIDIA в системе.
-
Автоматическая установка рекомендуемого драйвера NVIDIA (если он еще не установлен).
-
Перезагрузка системы для применения изменений ядра и драйверов.
-
Установка среды выполнения ИИ:
-
Загрузка и запуск официального скрипта установки Ollama.
-
Настройка системной службы
ollamaдля автоматического запуска при загрузке сервера. -
Автоматическая загрузка языковой модели:
north-mini-code-1.0. -
Развертывание контейнеров:
-
Установка Docker и необходимых модулей Python (
python3-docker). -
Запуск веб-интерфейса OpenWebUI в Docker-контейнере.
-
Настройка проксирования и SSL:
-
Создание директории
/root/nginxдля конфигурационных файлов. -
Развертывание контейнера Nginx с поддержкой автоматического получения сертификатов Let's Encrypt (Certbot).
-
Настройка обратного проксирования (proxy_pass) на локальный порт приложения.
Контейнеры Docker и их запуск¶
В системе развернуты следующие контейнеры:
OpenWebUI
-
Образ:
ghcr.io/open-webui/open-webui:main -
Режим сети:
host(для прямого взаимодействия с локальными сервисами) -
Переменные окружения:
-
OLLAMA_BASE_URL:http://127.0.0.1:11434 -
Тома (volumes):
open-webui:/app/backend/data -
Политика перезапуска:
always
Nginx (Certbot Proxy)
-
Образ:
jonasal/nginx-certbot:latest -
Режим сети:
host -
Переменные окружения:
-
CERTBOT_EMAIL:hkadm@hostkey.com -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Политика перезапуска:
unless-stopped
Инструкция по обновлению приложения¶
Для обновления основного компонента (OpenWebUI) необходимо выполнить следующие действия:
-
Перейти в директорию, где запущен контейнер (если используется compose).
-
Выполнить команду для подтягивания новых образов и перезапуска:
Расположение конфигурационных файлов и данных¶
-
Конфигурации Nginx:
/data/nginx/user_conf.d/ -
Данные OpenWebUI: Хранятся в Docker Volume
open-webui. -
Сертификаты SSL: Хранятся в Docker Volume
nginx_secrets. -
Секреты и переменные Nginx:
/data/nginx/nginx-certbot.env
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
| 443 | TCP | Веб-интерфейс (HTTPS) |
| 80 | TCP | HTTP (для проверки сертификатов) |
| 11434 | TCP | API Ollama (локально) |
Запуск, остановка приложения¶
Управление контейнером веб-интерфейса осуществляется через Docker:
-
Остановка:
docker stop open-webui -
Запуск:
docker start open-webui -
Просмотр логов:
docker logs -f open-webui