Обзор развертывания HunyuanVideo на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы и доступ к ресурсам:
-
Операционная система: Ubuntu (рекомендуется версия 22.04).
-
Права доступа: Права суперпользователя (
rootилиsudo) для установки системных пакетов, драйверов NVIDIA и настройки Docker. -
Доменное имя: Наличие домена в зоне
hostkey.in. -
Порты:
-
Внешний порт:
443(HTTPS). -
Внутренний путь:
/.
FDQN итоговой панели на домене hostkey.in¶
Для доступа к приложению используется следующий шаблон поддомена:
| Параметр | Значение |
|---|---|
| Префикс | hvideo |
| Домен | hostkey.in |
| Полный шаблон | hvideo{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/opt/HunyuanVideo— рабочая директория приложения, исходный код и веса моделей. -
/opt/HunyuanVideo/venv— виртуальное окружение Python. -
/opt/HunyuanVideo/ckpts— хранилище контрольных точек (чекпоинтов) моделей. -
/root/nginx— конфигурация прокси-сервера Nginx и Docker Compose для SSL. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx.
Процесс установки приложения¶
Развертывание выполняет комплексную настройку системы, включающую установку драйверов и зависимостей:
-
Подготовка ОС: Обновление системных пакетов, установка компилятора
gcc, инструментов сборки и базовых утилит (git,curl,wget,python3и др.). -
Настройка CUDA и NVIDIA:
-
Установка драйверов NVIDIA и инструментария CUDA (CUDA Toolkit).
-
Настройка среды выполнения
nvidia-container-toolkitдля поддержки GPU в Docker. -
Конфигурация среды через
.bashrc(переменныеPATHиLD_LIBRARY_PATH). -
Развертывание приложения:
-
Клонирование репозитория
HunyuanVideoиз GitHub. -
Создание виртуального окружения Python (
venv). -
Установка специализированного стека PyTorch с поддержкой CUDA 12.4.
-
Загрузка весов моделей через
huggingface-cli: основная модель HunyuanVideo, CLIP text_encoder и LLAVA MLLM. -
Специфическая настройка: Выполнение скрипта предобработки текста (
preprocess_text_encoder_tokenizer_utils.py) для интеграции модели LLAVA в текстовый энкодер.
Права доступа и безопасность¶
-
Для работы с Docker требуется наличие установленного
nvidia-container-toolkit. -
Конфигурационные файлы Nginx имеют права доступа, позволяющие чтение пользователю
root(0644). -
Директория
/root/nginxимеет права0755.
Базы данных¶
В данной конфигурации база данных не используется; приложение работает с файловой системой для хранения весов моделей.
Контейнеры Docker и их запуск¶
Для обеспечения работы HTTPS через прокси-сервер используется контейнер:
| Параметр | Значение |
|---|---|
| Имя образа | 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 |
Кастомные скрипты и дополнительные настройки¶
В процессе установки выполняются следующие действия:
-
Настройка среды NVIDIA: Скрипт инициализирует модули ядра для работы GPU без перезагрузки системы (
rmmod nouveau). -
Предобработка моделей: Запуск Python-скрипта
preprocess_text_encoder_tokenizer_utils.pyс параметрами--input_dirи--output_dirдля подготовки весов LLAVA. -
Тестовый запуск: После установки автоматически запускается генерация тестового видео (
sample_video.py) с промптом "A cyberpunk city at night" для проверки работоспособности всей цепочки (GPU -> CUDA -> Model).
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо:
-
Перейти в директорию
/opt/HunyuanVideo. -
Обновить исходный код через
git pull. -
При необходимости обновить зависимости внутри виртуального окружения:
Расположение конфигурационных файлов и данных¶
-
Веса моделей:
/opt/HunyuanVideo/ckpts -
Конфигурация прокси:
/root/nginx/compose.yml -
Пользовательские конфиги Nginx:
/data/nginx/user_conf.d/
Доступные порты для подключения¶
443(HTTPS) — основной порт через прокси-сервер.