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

Обзор развертывания gpt-oss на сервере

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

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

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

  • Наличие установленного Docker и поддержки GPU (NVIDIA CUDA).

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

  • Открытые порты: 443 (HTTPS) и 8080 (внутренний сервис).

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

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

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

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

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

  1. Установка базовых компонентов:

  2. Устанавливается пакет curl.

  3. Выполняется установка Docker и драйверов NVIDIA CUDA.

  4. Настройка Ollama:

  5. С помощью официального установочного скрипта устанавливается среда Ollama.

  6. Создается системный пользователь ollama.

  7. Настраивается конфигурация службы systemd для прослушивания всех сетевых интерфейсов (OLLAMA_HOST=0.0.0.0) и разрешения запросов из других контейнеров (OLLAMA_ORIGINS=*).

  8. Включается поддержка ускорения LLAMA_FLASH_ATTENTION=1.

  9. Загрузка модели:

  10. Выполняется автоматическая загрузка весов модели gpt-oss:20b в систему Ollama.

  11. Развертывание интерфейса:

  12. Запускается контейнер Docker для веб-интерфейса Open WebUI с поддержкой GPU.

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

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

open-webui

Контейнер пользовательского интерфейса для взаимодействия с нейросетью.

  • Образ: ghcr.io/open-webui/open-webui:cuda

  • Порты: 8080:8080

  • Тома (volumes): open-webui (именованный том для хранения данных приложения).

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

  • ENV='dev'

  • OLLAMA_BASE_URLS='http://host.docker.internal:11434'

  • Политика перезапуска: always

  • Особенности: Используется параметр --gpus all для доступа к видеокарте и --add-host=host.docker.internal:host-gateway для связи с хостовой машиной.

nginx (через docker-compose)

Контейнер для обеспечения работы HTTPS и проксирования трафика.

  • Образ: jonasal/nginx-certbot:latest

  • Сеть: Режим host.

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt (для хранения SSL-сертификатов).

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d (пользовательские конфигурации).

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

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

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

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

  • Подготовка SSL: Настраивается интеграция с Certbot для автоматического получения и обновления сертификатов через Docker-контейнер Nginx.

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

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

docker compose -f /root/nginx/compose.yml pull && docker compose -f /root/nginx/compose.yml up -d

Также рекомендуется обновить модель Ollama, выполнив команду: ollama pull gpt-oss:20b

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

Тип данных Путь к расположению
Конфигурация Nginx (пользовательская) /data/nginx/user_conf.d/
Данные Open WebUI (внутри Docker) open-webui (volume)
Сертификаты SSL В томе nginx_secrets
Конфигурация Nginx (Docker Compose) /root/nginx/compose.yml

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

  • 443 — HTTPS доступ к веб-интерфейсу через доменное имя.

  • 8080 — локальный порт сервиса Open WebUI.

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