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

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

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

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

  1. Обновление пакетов системы через менеджер apt.
  2. Клонирование репозитория ComfyUI в директорию /root/ComfyUI.
  3. Установка интерпретатора Python и менеджера пакетов pip.
  4. Установка библиотеки torch с поддержкой CUDA 12.6 из репозитория PyTorch.
  5. Установка всех зависимостей проекта из файла requirements.txt.
  6. Скачивание модели flux1-dev-fp8.safetensors в каталог моделей.
  7. Создание директории для рабочих процессов.
  8. Развертывание конфигурационных файлов и шаблонов.

Контейнеры 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.

Команды управления сервисом:

  • Запуск сервиса:
    systemctl start comfyui
    
  • Остановка сервиса:
    systemctl stop comfyui
    
  • Перезапуск сервиса:
    systemctl restart comfyui
    
  • Проверка статуса сервиса:
    systemctl status comfyui
    
  • Включение автозапуска при загрузке системы:
    systemctl enable comfyui
    

После изменения конфигурационных файлов или обновления кода необходимо выполнить перезагрузку демонстра systemd перед перезапуском сервиса:

systemctl daemon-reload

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×