- Added a new function to ensure headless installation of ComfyUI when backends are empty, enhancing the setup process for SwarmUI. - Updated documentation to clarify the installation flow and backend readiness checks, ensuring users understand the requirements for a successful setup. - Enhanced backend status checks to differentiate between 'empty' and 'idle' states, improving error handling and user feedback during provisioning. - Adjusted logging messages to provide clearer insights into the installation and backend status processes.
4.4 KiB
SwarmUI на GPU-сервере
Репозиторий: mcmonkeyprojects/SwarmUI.
Без Docker. На VM процесс слушает 7801 на loopback (launch-linux.sh). На ноутбуке туннель — 17801.
Чего нет
- Docker, nvidia-container-toolkit, образа на Docker Hub.
- Порта 7860 (это Automatic1111).
- Зеркала локального SwarmUI. С ноутбука едут только деревья приложения: local-folders.md. Первый Civitai-seed — models.md.
Bootstrap (один раз на boot volume)
- Образ Selectel Ubuntu 24.04 LTS GPU Driver 580 (без Docker в имени, см. selectel.md).
- Git clone SwarmUI в
/opt/swarmui. .NET —launchtools/linux-dotnet-install.sh(SDK 8 и 10, как в доке SwarmUI). - Bind-mounts с data volume в дерево
/opt/swarmui— таблица в architecture.md. - Clone git-расширений из манифеста (extensions.md), если файл не пустой.
- Word-list autocomplete в
Data/AutocompletionsиDefaultUser.AutoComplete.Source(autocomplete.md). - Если есть Civitai-токен и манифест моделей: seed весов до первого старта SwarmUI; иначе — дефолтная модель установщика.
- Push непустых
Models//Wildcards//CustomWorkflows/. - systemd unit
swarmui:./launch-linux.sh --launch_mode none --host 127.0.0.1 --port 7801. - GPU probe →
/mnt/swarm_data/.gpu-rent-gpu.json(VRAM / compute cap / tier) — до старта UI; Ollama читает его при install. - Старт SwarmUI → headless InstallConfirmWS (ComfyUI в
dlbackend, models=none — веса уже с Civitai) → seed LLM → idle-killer → wait backend Idle (толькоidle;empty≠ ready). - Perf tune после Idle —
triton+sageattentionв Comfy venv и--use-sage-attentionвData/Backends.fds(маркер.gpu-rent-perf-tuned; повтор при смене GPU). - Авторизация SwarmUI включена, токен в
Dataна диске. - Один snapshot boot volume
gpu-rent-boot-ok, если ещё нет.
Рестарт UI: systemctl restart swarmui, не docker restart.
ComfyUI
Первый запуск качает backend в /opt/swarmui/dlbackend (это bind на data volume). Иначе каждый recreate потеряет часы.
gpu-rent: после systemctl start swarmui вызывается headless InstallConfirmWS (backend=comfyui, models=none), если GetCurrentStatus ещё empty. Без этого UI отвечает HTTP 200, а Comfy/torch так и не появляются — раньше wait_backend_idle ошибочно считал empty = Idle.
Скорость без потери качества (gpu-rent): после Idle backend, на GPU с compute capability ≥ 8.0 и ≥16 GiB VRAM — SageAttention. Performance.AllowGpuSpecificOptimizations у Swarm по умолчанию уже включает --fast для 30xx+. Если venv ещё не появился — маркер без pip_ok, догонит на следующем up.
Пока CUDA/ComfyUI поднимаются, UI уже может отвечать. Для MCP и /API/ — рано: ready после Idle backend.
Доступ с ноутбука
Пока запущен gpu-rent tunnel:
| Что | URL |
|---|---|
| UI | http://127.0.0.1:17801 |
| HTTP API | http://127.0.0.1:17801/API/ |
| MCP | http://127.0.0.1:17801/mcp |
Локальный инстанс на 7801 продолжает жить. В Cursor MCP на время сессии переключают на 17801 (вручную по сниппету CLI).
Без туннеля API с ноутбука недоступен: 7801 на VM не опубликован в интернет.
Чего не делать
chmod -R 777на Models.- Слушать 7801 на
0.0.0.0. - Ставить Docker «на всякий случай».
- Считать Nova
ACTIVE= можно генерировать. apt upgradeядра (ломает nvidia-smi).