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

Обзор развертывания 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.

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

Развертывание выполняет комплексную настройку системы, включающую установку драйверов и зависимостей:

  1. Подготовка ОС: Обновление системных пакетов, установка компилятора gcc, инструментов сборки и базовых утилит (git, curl, wget, python3 и др.).

  2. Настройка CUDA и NVIDIA:

  3. Установка драйверов NVIDIA и инструментария CUDA (CUDA Toolkit).

  4. Настройка среды выполнения nvidia-container-toolkit для поддержки GPU в Docker.

  5. Конфигурация среды через .bashrc (переменные PATH и LD_LIBRARY_PATH).

  6. Развертывание приложения:

  7. Клонирование репозитория HunyuanVideo из GitHub.

  8. Создание виртуального окружения Python (venv).

  9. Установка специализированного стека PyTorch с поддержкой CUDA 12.4.

  10. Загрузка весов моделей через huggingface-cli: основная модель HunyuanVideo, CLIP text_encoder и LLAVA MLLM.

  11. Специфическая настройка: Выполнение скрипта предобработки текста (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).

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

Для обновления основного приложения необходимо:

  1. Перейти в директорию /opt/HunyuanVideo.

  2. Обновить исходный код через git pull.

  3. При необходимости обновить зависимости внутри виртуального окружения:

    source venv/bin/activate
    pip install -r requirements.txt
    

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

  • Веса моделей: /opt/HunyuanVideo/ckpts

  • Конфигурация прокси: /root/nginx/compose.yml

  • Пользовательские конфиги Nginx: /data/nginx/user_conf.d/

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

  • 443 (HTTPS) — основной порт через прокси-сервер.
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×