Обзор развертывания HunyuanVideo на сервере¶
Предварительные требования¶
Для успешного развертывания приложения требуются следующие параметры системы и доступ к ресурсам:
-
Операционная система: Ubuntu (рекомендуется версия 22.04).
-
Права доступа: Права суперпользователя (
rootилиsudo) для установки системных пакетов и драйверов. -
Аппаратное обеспечение: Наличие графического процессора NVIDIA с поддержкой CUDA.
-
Порты:
-
443(HTTPS) — внешний доступ к приложению. -
8080— внутренний порт для взаимодействия прокси-сервера и приложения.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | hvideo |
| Домен | hostkey.in |
| Полный шаблон | hvideo{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/opt/HunyuanVideo— рабочая директория приложения, исходный код и веса моделей. -
/opt/HunyuanVideo/venv— виртуальное окружение Python. -
/opt/HunyuanVideo/ckpts— хранилище контрольных точек (чекпоинтов) моделей. -
/root/nginx— конфигурационные файлы прокси-сервера Docker. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: Установка базовых пакетов (
git,python3,curl,wget,ca-certificatesи др.) и обновление кэша репозиториев. -
Настройка среды NVIDIA:
-
Установка драйверов CUDA и инструментов разработки.
-
Настройка
nvidia-container-toolkitдля обеспечения поддержки GPU в Docker. -
Конфигурация среды выполнения (runtime) по умолчанию для Docker.
-
Установка окружения Python:
-
Клонирование репозитория
HunyuanVideo. -
Создание виртуального окружения
venv. -
Установка PyTorch с поддержкой CUDA 12.4 (
torch==2.6.0,torchvision==0.21.0,torchaudio==2.6.0). -
Установка зависимостей из файла
requirements.txt. -
Загрузка моделей:
-
Загрузка весов основной модели через
huggingface-cli. -
Загрузка текстового энкодера CLIP.
-
Загрузка LLM (Llava) для обработки текста.
-
Специальная обработка данных: Выполнение скрипта предобработки, который переносит компоненты Llava в директорию текстового энкодера и настраивает использование CPU для определенных операций предварительной обработки.
Права доступа и безопасность¶
-
Установка драйверов и системных компонентов требует прав
sudo. -
Конфигурационные файлы Nginx имеют права доступа
0644и принадлежат пользователюroot. -
Директория
/root/nginxимеет права0755.
Базы данных¶
В данной конфигурации использование внешних баз данных не предусмотрено; приложение использует локальную файловую систему для хранения моделей и весов.
Контейнеры Docker и их запуск¶
Для обеспечения работы приложения через прокси-сервер используется следующий контейнер:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим перезапуска | unless-stopped |
| Сеть | host |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt/data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
Контейнер используется для автоматического получения и управления SSL-сертификатами через Certbot и проксирования трафика на локальный порт приложения.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Установочный скрипт: Выполняет обновление системы, установку
cuda-toolkit, настройку переменных окруженияPATHиLD_LIBRARY_PATHв.bashrc. -
Скрипт предобработки: Запуск
hyvideo/utils/preprocess_text_encoder_tokenizer_utils.pyдля подготовки весов моделей. -
Тестовый запуск: После завершения установки автоматически запускается генерация тестового видео командой:
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия:
-
Перейти в директорию приложения:
cd /opt/HunyuanVideo. -
Обновить исходный код:
git pull origin main. -
(При необходимости) обновить зависимости Python:
Расположение конфигурационных файлов и данных¶
-
Конфигурация прокси:
/root/nginx/compose.yml. -
Данные моделей:
/opt/HunyuanVideo/ckpts. -
Пользовательские конфиги Nginx:
/data/nginx/user_conf.d.
Доступные порты для подключения¶
443(HTTPS) — основной порт доступа к приложению через доменное имя.