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

Обзор развертывания Open WebUI с Ollama на сервере

Предварительные требования

Для корректной работы приложения требуются следующие условия:

  • Операционная система: Ubuntu.

  • Наличие графического ускорителя NVIDIA (для использования аппаратного ускорения).

  • Доступ к интернету для загрузки пакетов, драйверов и моделей.

  • Права суперпользователя (root) для установки системных компонентов.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:

Параметр Значение
Префикс gemma31b
Домен hostkey.in
Полный шаблон gemma31b{Server_ID_from_Invapi}.hostkey.in

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

Развертывание системы выполняется в несколько этапов:

  1. Подготовка операционной системы:

  2. Обновление кэша пакетов и обновление всех установленных системных компонентов до последних версий.

  3. Установка ядра Linux HWE (Hardware Enablement).

  4. Установка утилиты ubuntu-drivers-common.

  5. Настройка графического ускорителя NVIDIA:

  6. Проверка наличия оборудования NVIDIA в системе.

  7. Автоматическая установка рекомендуемых драйверов NVIDIA.

  8. Установка среды исполнения моделей (Ollama):

  9. Загрузка и запуск официального установочного скрипта Ollama.

  10. Настройка системной службы ollama для автоматического запуска при загрузке системы.

  11. Загрузка языковой модели gemma4:31b.

  12. Развертывание контейнера интерфейса:

  13. Установка среды выполнения Docker (через пакетный менеджер).

  14. Запуск контейнера 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:

docker compose pull && docker compose up -d

Расположение конфигурационных файлов и данных

Тип данных Путь к расположению
Конфигурация 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
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×