Обзор развертывания ComfyUI на сервере¶
Предпосылки и предварительные требования¶
Для успешного развертывания приложения необходимо наличие сервера с операционной системой Debian или Ubuntu. Требуется наличие прав суперпользователя (root) для выполнения всех операций установки и конфигурации.
Приложение требует доступа к интернету для загрузки зависимостей и моделей. В конфигурации настроена прямая связь с доменом huggingface.co через IP-адрес 5.180.174.199, добавленный в файл /etc/hosts.
Для работы графического интерфейса и прокси-сервера должны быть открыты соответствующие сетевые порты. Прокси-сервер работает в режиме host сети, используя порты напрямую.
Структура файлов и каталогов¶
Все файлы приложения и конфигурации размещаются в следующих директориях:
- Исходный код приложения:
/root/ComfyUI - Модели нейросетей:
/root/ComfyUI/models/checkpoints - Рабочие процессы (workflows):
/root/ComfyUI/user/default/workflows - Конфигурация приложения:
/root/ComfyUI/user/default/comfy.settings.json - Конфигурация прокси-сервера и сертификатов:
/root/nginx - Файл конфигурации Docker Compose:
/root/nginx/compose.yml - Файл конфигурации сервиса systemd:
/etc/systemd/system/comfyui.service
Процесс установки приложения¶
Установка выполняется вручную или через скрипт, который выполняет следующие действия:
- Обновление пакетов системы через менеджер
apt. - Клонирование репозитория
ComfyUIв директорию/root/ComfyUI. - Установка интерпретатора Python и менеджера пакетов
pip. - Установка библиотеки
torchс поддержкой CUDA 12.6 из репозитория PyTorch. - Установка всех зависимостей проекта из файла
requirements.txt. - Скачивание модели
flux1-dev-fp8.safetensorsв каталог моделей. - Создание директории для рабочих процессов.
- Развертывание конфигурационных файлов и шаблонов.
Контейнеры Docker и их запуск¶
Для обеспечения работы прокси-сервера и получения SSL-сертификатов используется Docker.
В каталоге /root/nginx размещается файл compose.yml, который описывает сервис nginx.
Используемый образ: jonasal/nginx-certbot:latest.
Параметры запуска контейнера: - Режим сети: host - Переменная окружения для email: CERTBOT_EMAIL=hkadm@hostkey.com - Файл переменных окружения: /data/nginx/nginx-certbot.env - Монтирование тома для секретов Let's Encrypt: nginx_secrets в /etc/letsencrypt - Монтирование пользовательской конфигурации Nginx: /data/nginx/user_conf.d в /etc/nginx/user_conf.d
Запуск контейнера осуществляется командой docker compose up -d из директории /root/nginx.
Прокси серверы¶
В системе развернут прокси-сервер Nginx с поддержкой автоматического получения и обновления SSL-сертификатов через Certbot.
Конфигурация прокси-сервера хранится в каталоге /root/nginx. Сервер использует внешний том nginx_secrets для хранения сертификатов.
Электронная почта для уведомлений от Certbot указана как hkadm@hostkey.com.
Настройки прав¶
Права доступа к файлам и директориям устанавливаются следующим образом:
- Директория
/root/ComfyUI/user/default/workflowsимеет права0755. - Файл рабочего процесса
flux1-dev-fp8.jsonимеет права0644. - Файл конфигурации сервиса
comfyui.serviceимеет права0644и принадлежит пользователюroot. - Директория
/root/nginxимеет права0644и принадлежит пользователюroot. - Файл
compose.ymlимеет права0644и принадлежит пользователюroot.
Запуск, остановка и обновление¶
Приложение ComfyUI управляется как системный сервис через systemd.
Имя сервиса: comfyui.
Команды управления сервисом:
- Запуск сервиса:
- Остановка сервиса:
- Перезапуск сервиса:
- Проверка статуса сервиса:
- Включение автозапуска при загрузке системы:
После изменения конфигурационных файлов или обновления кода необходимо выполнить перезагрузку демонстра systemd перед перезапуском сервиса: