ComfyUI 0.36.0 работает в локально собранном Docker-образе на VM210: база Python зафиксирована по digest, исходники — по коммиту, зависимости заблокированы своими хешами (wheel-пакеты скачаны и затем установлены офлайн). Проверенное окружение: Python 3.12.14, PyTorch 2.11.0, CUDA 13.0. Подробности о контейнере и исправлении кэша на странице Docker.
Реально рассмотренная альтернатива: более ранний Windows-POC (VM260) опробовал ComfyUI через Docker Desktop с рабочими процессами SDXL / Flux. Это Linux-развёртывание (VM210) отличается от него, и использование Flux здесь пока не подтверждено; измерялся только RealVisXL. Поскольку RTX 5090 эксклюзивна, VM210 и VM260 не используют её одновременно.
Принятые меры усиления: выполнение без привилегий, корневая файловая система в режиме только для чтения, модели смонтированы только для чтения, пользовательские и API-узлы отключены (без общей блокировки исходящей сети), интерфейс опубликован только на локальной петле (доступ через SSH-туннель, без публикации в интернете).
Имена учётных записей, хостов и путей заменены примерами. Секреты не требуются. Проверка контейнера и API (docker inspect/logs, ollama ps, curl) подробно описана на странице Docker; телеметрия GPU и проверка SHA-256 чекпоинта — на странице ИИ и LLM.
$SshTarget = '<compte>@<hote-gpu>' ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:8188:127.0.0.1:8188 $SshTarget
Затем открыть http://127.0.0.1:8188/ на этой машине. Молчание терминала после аутентификации — это нормально: -N открывает туннель без удалённой сессии. Ctrl+C закрывает туннель, но не останавливает ComfyUI; поэтому недоступность интерфейса после закрытия терминала не обязательно означает сбой сервера.
Симптом: граф, смешивающий чекпоинт RealVisXL с узлами SD3/AuraFlow, был построен, а затем отклонён (несовместимость графа). Затем отмена генерации зависла, точную причину установить не удалось; для возврата в исправное состояние потребовался целевой перезапуск контейнера. Принятое решение: возврат к адаптированному графу SDXL (согласованному с RealVisXL), который затем работал нормально.
Второй инцидент, описанный на странице Docker, затронул запуск контейнера (getpass.getuser() завершался ошибкой из-за отсутствия известного UID); он был устранён переменными окружения без пересборки образа.
| Опыт | Наблюдение | Область применимости |
|---|---|---|
| Портрет 512×512, 8 шагов | 8,03 с (включая начальную загрузку) | Функциональная проверка, не тест качества |
| Портрет 1024×1024, 30 шагов | Изображение получено (DPM++ SDE Karras) | Длительность точно не привязана в истории |
- Усиление защиты контейнера ComfyUI (без привилегий, корневая ФС только для чтения)
- Проверка целостности чекпоинта по хешу SHA-256
- Совместное использование эксклюзивного GPU между инференсом LLM и генерацией изображений
- Диагностика несовместимости графа ComfyUI и восстановление после зависания
- Безопасный удалённый доступ через SSH-туннель, без публикации в интернете
Ограничения и открытые задачи
- Автоматическое распределение запросов между ComfyUI и Ollama ещё предстоит построить (пока ручное переключение)
- Анатомический реализм, позы и качество в большом масштабе ещё предстоит оценить
- Использование Flux на этой Linux-платформе не подтверждено — здесь измерялся только RealVisXL
- Агентные интеграции/n8n, общий контроль допуска запросов и политика перезапуска после перезагрузки остаются открытыми задачами
- RealVisXL V5.0 распространяется по лицензии Open RAIL++: доступность весов не означает отсутствие лицензионных ограничений