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

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

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

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

  • Операционная система: Ubuntu (рекомендуется версия 22.04 LTS).

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

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

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

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

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

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

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

Процесс развертывания включает в себя несколько этапов подготовки системы и запуска компонентов:

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

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

  3. Установка ядра HWE (Hardware Enablement) для обеспечения поддержки современного оборудования.

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

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

  6. Проверка наличия видеокарт NVIDIA через lspci.

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

  8. Перезагрузка системы для применения изменений в ядре и драйверах.

  9. Установка движка нейросетей (Ollama):

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

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

  12. Автоматическая загрузка языковой модели gemma4:26b.

  13. Развертывание интерфейса (Docker):

  14. Установка среды выполнения Docker и необходимых модулей Python (python3-docker).

  15. Запуск контейнера OpenWebUI с подключением к локальному сервису Ollama.

  16. Настройка проксирования и SSL:

  17. Создание директории /root/nginx для конфигурационных файлов.

  18. Развертывание контейнера Nginx для управления SSL-сертификатами через Certbot.

  19. Настройка автоматического перенаправления трафика с порта 443 на внутренний порт приложения.

Контейнеры 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 (Proxy)

  • Имя образа: jonasal/nginx-certbot:latest

  • Режим сети: host

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d

  • Политика перезапуска: unless-stopped

Кастомные скрипты и дополнительные настройки

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

  • Загрузка моделей: Выполняется команда ollama pull gemma4:26b для предварительной подготовки весов нейросети.

  • Конфигурация проксирования: В конфигурационные файлы Nginx вносятся изменения, устанавливающие proxy_pass http://127.0.0.1:8080;, что связывает внешний трафик с внутренним сервисом приложения.

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

Для обновления основного интерфейса OpenWebUI необходимо выполнить перезапуск контейнера:

docker compose pull && docker compose up -d

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

  • Конфигурации Nginx: /data/nginx/user_conf.d/

  • Данные OpenWebUI (Docker Volume): open-webui

  • Директория управления прокси: /root/nginx/

Доступные порты для подключения

Порт Назначение Протокол
443 Внешний доступ к интерфейсу (через SSL) HTTPS
11434 Локальный API Ollama HTTP
8080 Внутренний порт приложения HTTP
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×