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

Обзор развертывания Phi-4 на сервере

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

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

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

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

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

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

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

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

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

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

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

  1. Подготовка системы:

  2. Установка Docker и драйверов NVIDIA CUDA.

  3. Установка системных зависимостей (в частности, curl).

  4. Установка Ollama:

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

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

  7. Настройка службы ollama.service для прослушивания всех сетевых интерфейсов (0.0.0.0) и включения поддержки Flash Attention.

  8. Загрузка модели phi4 через команду ollama pull phi4.

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

  10. Запуск контейнера Docker для Open WebUI с поддержкой GPU.

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

  12. Создание директории /root/nginx и конфигурационного файла compose.yml.

  13. Настройка Nginx для перенаправления трафика на локальный порт приложения через Certbot.

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

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

Open WebUI

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

  • Порты: 8080:8080 (внутренний порт 8080)

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

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

  • ENV='dev'

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

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

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

Nginx (Certbot Proxy)

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

  • Сеть: host

  • Тома:

  • nginx_secrets:/etc/letsencrypt

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

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

  • CERTBOT_EMAIL=hkadm@hostkey.com

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

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

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

  • Настройка Ollama: В файл /etc/systemd/system/ollama.service вносятся изменения для добавления переменных окружения OLLAMA_HOST, OLLAMA_ORIGINS и LLAMA_FLASH_ATTENTION. Это необходимо для обеспечения сетевого доступа к API модели.

  • Конфигурация Nginx: В конфигурационные файлы пользователя по пути /data/nginx/user_conf.d/ автоматически добавляется директива proxy_pass http://127.0.0.1:8080;, которая направляет входящий HTTPS трафик на контейнер Open WebUI.

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

Для обновления основного приложения (Open WebUI) необходимо выполнить следующие действия:

  • Если используется Docker Compose, выполните команды: docker compose pull && docker compose up -d

  • Для обновления модели Ollama используйте команду: ollama pull phi4

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

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

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

  • 443 (HTTPS): Основной порт для доступа к веб-интерфейсу через доменное имя.

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

  • 11434: Порт API Ollama (доступен локально внутри сервера).

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