Обзор развертывания Qwen3-coder на сервере¶
Предварительные требования¶
Для корректной работы приложения необходимы следующие условия:
-
Операционная система: Ubuntu.
-
Наличие установленных драйверов NVIDIA и среды CUDA для поддержки GPU.
-
Установленный Docker.
-
Доступ к сети для загрузки образов и моделей.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу приложения используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | qwen3-coder |
| Домен | hostkey.in |
| Полный шаблон | qwen3-coder{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Установка среды исполнения Ollama:
-
Загрузка и запуск официального установочного скрипта
ollama. -
Создание системного пользователя
ollama. -
Настройка службы
systemdдля работы с сетевыми интерфейсами (OLLAMA_HOST=0.0.0.0) и поддержки CORS (OLLAMA_ORIGINS=*). -
Включение оптимизации Flash Attention.
-
Загрузка нейросетевой модели:
-
Автоматическая загрузка модели
qwen3-coderчерез командуollama pull. -
Развертывание веб-интерфейса:
-
Запуск контейнера Docker для управления интерфейсом пользователя (Open WebUI).
-
Настройка проксирования и SSL:
-
Создание конфигурационных файлов Nginx.
-
Настройка перенаправления трафика с порта
443на внутренний порт приложения8080. -
Запуск контейнера для управления SSL-сертификатами через Certbot.
Контейнеры Docker и их запуск¶
В системе развернуты следующие контейнеры:
Open WebUI¶
Контейнер предоставляет графический интерфейс для взаимодействия с моделью.
-
Образ:
ghcr.io/open-webui/open-webui:cuda -
Порты:
8080:8080 -
Тома (volumes):
open-webui:/app/backend/data -
Переменные окружения:
-
ENV='dev' -
OLLAMA_BASE_URLS='http://host.docker.internal:11434' -
Параметры запуска: Использование GPU (
--gpus all), поддержка сетевого моста для связи с хостом (--add-host=host.docker.internal:host-gateway). -
Политика перезапуска:
always
Nginx (Proxy)¶
Контейнер используется исключительно для обеспечения SSL-защиты и проксирования запросов.
-
Образ:
jonasal/nginx-certbot:latest -
Сеть: Режим хоста (
network_mode: host) -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Политика перезапуска:
unless-stopped
Кастомные скрипты и дополнительные настройки¶
В процессе установки выполняются следующие действия:
-
Настройка системной службы Ollama: В файл
/etc/systemd/system/ollama.serviceвносятся изменения для обеспечения возможности удаленного подключения к API модели. -
Конфигурация Nginx: Файлы конфигурации в директории
/data/nginx/user_conf.d/автоматически модифицируются для перенаправления трафика на локальный порт8080.
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь к расположению |
|---|---|
| Конфигурация Nginx | /data/nginx/user_conf.d/ |
| Данные Open WebUI (Volume) | open-webui (Docker volume) |
| Секреты SSL | nginx_secrets (Docker volume) |
| Логи и конфиги Nginx | /root/nginx/ |
Доступные порты для подключения¶
| Порт | Назначение | Протокол |
|---|---|---|
443 | Внешний доступ к интерфейсу (через SSL) | HTTPS |
8080 | Внутренний порт приложения | HTTP |
11434 | API Ollama (локально на хосте) | HTTP |
Запуск, остановка приложения¶
Управление веб-интерфейсом осуществляется через Docker:
-
Остановка контейнера:
docker stop open-webui -
Запуск контейнера:
docker start open-webui -
Просмотр статуса:
docker inspect -f '{{.State.Status}}' open-webui