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

Обзор развертывания Qwen3-coder на сервере

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

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

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

  • Наличие установленных драйверов NVIDIA и среды CUDA для поддержки GPU.

  • Установленный Docker.

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

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

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

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

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

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

  1. Установка среды исполнения Ollama:

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

  3. Создание системного пользователя ollama.

  4. Настройка службы systemd для работы с сетевыми интерфейсами (OLLAMA_HOST=0.0.0.0) и поддержки CORS (OLLAMA_ORIGINS=*).

  5. Включение оптимизации Flash Attention.

  6. Загрузка нейросетевой модели:

  7. Автоматическая загрузка модели qwen3-coder через команду ollama pull.

  8. Развертывание веб-интерфейса:

  9. Запуск контейнера Docker для управления интерфейсом пользователя (Open WebUI).

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

  11. Создание конфигурационных файлов Nginx.

  12. Настройка перенаправления трафика с порта 443 на внутренний порт приложения 8080.

  13. Запуск контейнера для управления 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

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