Перейти к содержанию

Обзор развертывания 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-сертификатов.

Процесс установки приложения

Развертывание включает в себя следующие этапы:

  1. Обновление системных пакетов и установка ядра linux-generic-hwe-22.04.

  2. Установка драйверов NVIDIA (при наличии оборудования).

  3. Установка и запуск сервиса Ollama.

  4. Загрузка языковой модели north-mini-code-1.0 через Ollama.

  5. Развертывание контейнера OpenWebUI.

  6. Настройка прокси-сервера 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.

Инструкция по обновлению приложения

Обновление выполняется через обновление образов и перезапуск контейнеров:

docker compose pull && docker compose up -d
Также для применения изменений в конфигурации Nginx используется команда:
docker exec nginx-nginx-1 nginx -s reload

Настройки прав

  • Директория /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

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×