Обзор развертывания HunyuanVideo на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения HunyuanVideo на сервере необходимо выполнить следующие условия:
- Операционная система: Ubuntu 22.04 (или совместимая версия).
- Наличие прав суперпользователя (
root) или возможность использованияsudo. - Сервер должен быть оснащен видеокартой NVIDIA с поддержкой CUDA.
- Доступ к интернету для загрузки пакетов, репозиториев и моделей.
- Установленный Docker с поддержкой NVIDIA Container Toolkit.
- Свободные порты для работы веб-сервера (порт 8080 для внутреннего проксирования, порты 80 и 443 для внешнего доступа через Nginx).
Структура файлов и каталогов¶
Приложение и его компоненты размещаются в следующих директориях:
/opt/HunyuanVideo— основной каталог с исходным кодом приложения HunyuanVideo./opt/HunyuanVideo/venv— виртуальное окружение Python для зависимостей приложения./opt/HunyuanVideo/models— каталог для хранения загруженных чекпоинтов и моделей./root/nginx— каталог для конфигурации Docker Compose веб-сервера./data/nginx/user_conf.d— каталог с пользовательскими конфигурационными файлами Nginx./data/nginx/nginx-certbot.env— файл переменных окружения для сертификатов./etc/docker/daemon.json— файл конфигурации демон-процесса Docker для настройки NVIDIA runtime.
Процесс установки приложения¶
Установка приложения HunyuanVideo выполняется вручную с использованием следующих шагов:
-
Обновление системы и установка необходимых пакетов:
-
Клонирование репозитория HunyuanVideo:
-
Создание и активация виртуального окружения Python:
-
Установка зависимостей Python:
-
Загрузка чекпоинтов модели через
huggingface-cli: -
Настройка NVIDIA Docker runtime:
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса и получения SSL-сертификатов используется контейнер Nginx с Certbot.
Конфигурация контейнера описана в файле /root/nginx/compose.yml:
volumes:
nginx_secrets:
external: true
services:
nginx:
image: jonasal/nginx-certbot:latest
restart: unless-stopped
environment:
- CERTBOT_EMAIL=hkadm@hostkey.com
env_file:
- /data/nginx/nginx-certbot.env
network_mode: host
volumes:
- nginx_secrets:/etc/letsencrypt
- /data/nginx/user_conf.d:/etc/nginx/user_conf.d
Запуск контейнера выполняется командой:
Прокси серверы¶
Веб-сервер Nginx работает в режиме прокси и перенаправляет запросы на локальный порт 8080, где запущено приложение HunyuanVideo.
Конфигурация проксирования добавляется в файл /data/nginx/user_conf.d/<prefix><server_id>.hostkey.in.conf:
- Удаляется существующая строка
proxy_passв блокеlocation /. - Добавляется новая строка:
Сертификаты SSL управляются автоматически через Certbot внутри контейнера Nginx.
Настройки прав¶
Права доступа к файлам и директориям устанавливаются следующим образом:
- Каталог
/root/nginxимеет права0755, владелецroot:root. - Файл
/root/nginx/compose.ymlимеет права0644, владелецroot:root. - Каталог
/opt/HunyuanVideoи его содержимое доступны пользователю, выполняющему запуск приложения. - Файл
/etc/docker/daemon.jsonимеет права0644, владелецroot:root.
Запуск, остановка и обновление¶
Запуск приложения HunyuanVideo выполняется из виртуального окружения:
cd /opt/HunyuanVideo
source venv/bin/activate
python sample_video.py --prompt "A cyberpunk city at night"
Для управления контейнером Nginx используются команды Docker Compose:
- Запуск:
- Остановка:
- Перезапуск:
Обновление приложения HunyuanVideo требует повторного клонирования репозитория и установки зависимостей:
Обновление контейнера Nginx выполняется через обновление образа и перезапуск: