Files
gpu-rent/docs/swarmui.md
T
Leonid PershinandCursor b24c1b5d4b Sync remaining docs with CLI surface, Assistent, and Civitai dataset.
Align architecture/cli/decisions with modules and Debug API; cross-link seed overlays and scrape→FTS so user docs match 0.2.0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-23 08:18:08 +03:00

6.0 KiB
Raw Blame History

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)

  1. Образ Selectel Ubuntu 24.04 LTS GPU Driver 580 (без Docker в имени, см. selectel.md).
  2. Git clone SwarmUI в /opt/swarmui. .NET — launchtools/linux-dotnet-install.sh (SDK 8 и 10, как в доке SwarmUI).
  3. Bind-mounts с data volume в дерево /opt/swarmui — таблица в architecture.md.
  4. Clone git-расширений из манифеста (extensions.md), если файл не пустой.
  5. Word-list autocomplete в Data/Autocompletions и DefaultUser.AutoComplete.Source (autocomplete.md).
  6. Если есть Civitai-токен и манифест моделей: seed весов до первого старта SwarmUI; иначе — дефолтная модель установщика.
  7. Push непустых Models/ / Wildcards/ / CustomWorkflows/.
  8. systemd unit swarmui: ./launch-linux.sh --launch_mode none --host 127.0.0.1 --port 7801.
  9. GPU probe/mnt/swarm_data/.gpu-rent-gpu.json (VRAM / compute cap / tier) — до старта UI; Ollama читает его при install.
  10. Старт SwarmUI → headless InstallConfirmWS (ComfyUI в dlbackend, models=none — веса уже с Civitai) → seed LLM → idle-killer → wait backend ready (running; empty/loading ≠ ready; SwarmUI idle = бэкенды спят, не «готово»).
  11. Perf tune после Idletriton+sageattention в Comfy venv и --use-sage-attention в Data/Backends.fds (маркер .gpu-rent-perf-tuned; повтор при смене GPU). Нужны python3.12-dev+gcc (ставим даже на light bootstrap); JIT прогревается на up, иначе флаг снимается — иначе первая генерация падает на cuda_utils.c.
  12. Авторизация SwarmUI включена, токен в Data на диске.
  13. Один snapshot boot volume gpu-rent-boot-ok, если ещё нет.

Рестарт UI: systemctl restart swarmui, не docker restart.

Пустая вкладка Models

Веса лежат на data volume (/mnt/swarm_data/Models), SwarmUI смотрит в /opt/swarmui/Models через bind. Если bind отвалился, Generate всё ещё показывает последнюю модель (это JS), а сетка Models пустая.

Сначала кнопка refresh на вкладке Models и F5. Если пусто — файлы не удалились, нужен remount: gpu-rent up --yes (после фикса не используется umount -l на живом процессе).

ComfyUI

Первый запуск качает backend в /opt/swarmui/dlbackend (это bind на data volume). Иначе каждый recreate потеряет часы.

gpu-rent: после systemctl start swarmui вызывается headless InstallConfirmWS (backend=comfyui, models=none), если GetCurrentStatus ещё empty. IsInstalled: true пишется только когда Comfy уже на диске; на первом старте (или если прошлый up оставил флаг без dlbackend/ComfyUI) флаг сбрасывается — иначе Swarm отвечает Server is already installed! и не клонирует Comfy. Без этого UI отвечает HTTP 200, а Comfy/torch так и не появляются — раньше wait_backend_idle ошибочно считал empty = Idle.

Скорость без потери качества (gpu-rent): после Idle backend, на GPU с compute capability ≥ 8.0 и ≥16GiB 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 не опубликован в интернет.

Assistent (если requires: ollama и runtime включён) грузится как SwarmUI extension с data volume. Глубокая отладка — не через публичный 7801, а через Debug sidecar :17821 / gpu-rent debug (cli.md). Personas / FTS: extensions.md, datasets/README.

Чего не делать

  • chmod -R 777 на Models.
  • Слушать 7801 на 0.0.0.0.
  • Ставить Docker «на всякий случай».
  • Считать Nova ACTIVE = можно генерировать.
  • apt upgrade ядра (ломает nvidia-smi).