Обзор развертывания ComfyUI на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие условия:
-
Операционная система: Debian или Ubuntu.
-
Наличие графического процессора NVIDIA (требуется драйвер версии 580 или выше).
-
Установленный пакетный менеджер
aptиpip. -
Доступ к интернету для загрузки моделей и зависимостей.
FDQN итоговой панели на домене hostkey.in¶
| Параметр | Значение |
|---|---|
| Префикс | comfyui |
| Домен | hostkey.in |
| Полный шаблон | comfyui{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные компоненты системы расположены по следующим путям:
-
/root/ComfyUI— рабочая директория приложения (исходный код, модели, пользовательские данные). -
/root/nginx— конфигурация прокси-сервера. -
/etc/systemd/system/comfyui.service— файл службы для управления приложением. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx.
Процесс установки приложения¶
Развертывание ComfyUI выполняется в несколько этапов:
-
Подготовка системы и драйверов NVIDIA:
-
Обновление системных пакетов через
apt. -
Проверка наличия видеокарты и версии установленного драйвера.
-
Если версия драйвера ниже 580, выполняется полная очистка старых драйверов, установка заголовков ядра (
linux-headers) и установка актуального открытого драйвераnvidia-open. -
Добавление репозитория NVIDIA CUDA для обеспечения корректной работы с GPU.
-
Установка окружения Python:
-
Клонирование репозитория ComfyUI из GitHub в директорию
/root/ComfyUI. -
Установка
python3-pip. -
Принудительная установка PyTorch версии 13.0 с поддержкой CUDA для обеспечения аппаратного ускорения.
-
Установка зависимостей приложения через
pip install -r requirements.txt. -
Настройка моделей и рабочих процессов:
-
Загрузка модели
flux1-dev-fp8.safetensorsиз HuggingFace в директорию/root/ComfyUI/models/checkpoints/. -
Создание рабочей директории для пользовательских сценариев (workflows).
-
Развертывание предустановленного JSON-файла рабочего процесса (
flux1-dev-fp8.json). -
Настройка сервиса:
-
Создание конфигурационного файла
comfy.settings.jsonс базовыми параметрами интерфейса. -
Регистрация приложения в системе как службы
systemd.
Права доступа и безопасность¶
-
Использование
blacklist nouveauдля предотвращения конфликтов с драйвером NVIDIA. -
Установка прав доступа на директории (например,
0755для папок пользовательских сценариев). -
Настройка прав на файлы конфигурации (
0644). -
Ограничение доступа к системным файлам через механизмы управления правами владельца
root.
Контейнеры Docker и их запуск¶
Для обеспечения работы веб-интерфейса с SSL используется контейнерный прокси-сервер:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Тома (volumes) | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Политика перезапуска | unless-stopped |
Контейнер отвечает за автоматическое получение и обновление SSL-сертификатов через Certbot и проксирование трафика на внутренний порт приложения.
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Загрузка моделей: Скрипт использует
wgetс поддержкой докачки (--continue) для загрузки тяжелых файлов моделей, чтобы избежать ошибок при обрыве соединения. -
Настройка hosts: Удаление старых записей
huggingface.coиз/etc/hostsдля обеспечения корректного сетевого взаимодействия.
Инструкция по обновлению приложения¶
Для обновления основного приложения ComfyUI необходимо выполнить следующие действия:
-
Перейти в директорию с приложением:
cd /root/ComfyUI. -
Выполнить обновление исходного кода (через git pull, если используется ручное управление).
-
Обновить зависимости Python:
pip install -r requirements.txt --upgrade. -
Перезапустить службу приложения:
systemctl restart comfyui.
Расположение конфигурационных файлов и данных¶
-
Конфигурация ComfyUI:
/root/ComfyUI/user/default/comfy.settings.json -
Рабочие процессы (Workflows):
/root/ComfyUI/user/default/workflows/flux1-dev-fp8.json -
Модели (Checkpoints):
/root/ComfyUI/models/checkpoints/
Доступные порты для подключения¶
| Порт | Назначение |
|---|---|
443 | Внешний доступ через HTTPS (через Nginx) |
8188 | Внутренний порт приложения ComfyUI |
Запуск, остановка приложения¶
Управление приложением осуществляется через системную службу systemd:
-
Запуск:
systemctl start comfyui -
Остановка:
systemctl stop comfyui -
Проверка статуса:
systemctl status comfyui -
Включение автозагрузки:
systemctl enable comfyui