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

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

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

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

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

  • Драйверы: Наличие графического ускорителя NVIDIA и установленных драйверов (автоматическая установка через ubuntu-drivers autoinstall).

  • Ядро: Установлено HWE kernel (linux-generic-hwe-22.04).

  • Порты:

    • Внутренний порт приложения: 8080

    • Внешний порт (HTTPS): 443

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

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

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

Структура файлов и каталогов

Основные данные и конфигурации распределены по следующим путям:

  • /root/nginx/ — директория с файлами Docker Compose для прокси-сервера.

  • /data/nginx/user_conf.d/ — директория с пользовательскими конфигурациями Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для Certbot.

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

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

  1. Обновление системных пакетов и установка HWE ядра.

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

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

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

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

  6. Настройка прокси-сервера Nginx с автоматическим получением SSL-сертификатов через Certbot.

Права доступа и безопасность

  • Пользователь: Все основные операции выполняются от имени root.

  • Конфигурации Nginx: Файлы в /root/nginx/compose.yml имеют права 0644, владелец — root:root.

  • Директория Nginx: Директория /root/nginx имеет права доступа 0755.

Базы данных

В данной конфигурации база данных не развертывается отдельно; данные приложения хранятся в Docker Volume.

Контейнеры Docker и их запуск

OpenWebUI

  • Имя образа: ghcr.io/open-webui/open-webui:main

  • Имя контейнера: open-webui

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

  • Тома (volumes): open-webui:/app/backend/data

  • Переменные окружения:

    • OLLAMA_BASE_URL=http://127.0.0.1:11434
  • Политика перезапуска: always

Nginx (через Docker Compose)

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

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

  • Тома (volumes):

    • nginx_secrets:/etc/letsencrypt

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

  • Переменные окружения:

    • CERTBOT_EMAIL=hkadm@hostkey.com (из файла .env)
  • Политика перезапуска: unless-stopped

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

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

docker compose pull && docker compose up -d

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

Права на директории и файлы устанавливаются следующим образом:

  • /root/nginx: 0755 (владелец root)

  • Конфигурационные файлы в /root/nginx/: 0644 (владелец root)

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

  • Данные OpenWebUI: Хранятся в Docker Volume с именем open-webui.

  • Конфигурация Nginx: Пользовательские файлы .conf находятся в /data/nginx/user_conf.d/.

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

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