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

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

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

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: Установка базовых пакетов (git, python3, curl, wget, ca-certificates и др.) и обновление кэша репозиториев.

  2. Настройка среды NVIDIA:

  3. Установка драйверов CUDA и инструментов разработки.

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

  5. Конфигурация среды выполнения (runtime) по умолчанию для Docker.

  6. Установка окружения Python:

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

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

  9. Установка PyTorch с поддержкой CUDA 12.4 (torch==2.6.0, torchvision==0.21.0, torchaudio==2.6.0).

  10. Установка зависимостей из файла requirements.txt.

  11. Загрузка моделей:

  12. Загрузка весов основной модели через huggingface-cli.

  13. Загрузка текстового энкодера CLIP.

  14. Загрузка LLM (Llava) для обработки текста.

  15. Специальная обработка данных: Выполнение скрипта предобработки, который переносит компоненты 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 для подготовки весов моделей.

  • Тестовый запуск: После завершения установки автоматически запускается генерация тестового видео командой:

    python sample_video.py --prompt "A cyberpunk city at night"
    

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

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

  1. Перейти в директорию приложения: cd /opt/HunyuanVideo.

  2. Обновить исходный код: git pull origin main.

  3. (При необходимости) обновить зависимости Python:

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

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

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

  • Данные моделей: /opt/HunyuanVideo/ckpts.

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

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

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