Files
Athena-Deck/deploy/swarm-ui

SwarmUI als optionaler Dienst

SwarmUI ist eine Weboberfläche mit ComfyUI API By URL; Deck startet und beendet die vorhandene gemeinsame ComfyUI-Laufzeit im Videomodus. Der UI-Container hat keine GPU und installiert weder PyTorch noch eine weitere ComfyUI-Instanz. Im LLM-Modus ist sein Backend idle. Gewichte werden erst bei Generierung geladen.

Installation auf der aktuellen Athena-Testinstallation

Voraussetzungen: Docker, laufendes Deck unter /opt/athena-deck-dev/runtime, dessen Endpoint auf 8120 und installierte ComfyUI-Laufzeit. Vorher Deck und Swarm-Code auf denselben Stand aktualisieren.

sudo mkdir -p /opt/athena-swarm-ui/source
sudo cp deploy/swarm-ui/* /opt/athena-swarm-ui/source/
sudo docker build -t athena-swarm-ui:de7b834 /opt/athena-swarm-ui/source
sudo python3 /opt/athena-swarm-ui/source/install.py

Der Installer prüft die freien Ports, setzt die Labels, verlinkt vorhandene LTX-2.5-Komponenten ohne Gewichte zu kopieren, kopiert die offiziellen Swarm-Comfy-Knoten aus dem gebauten Image und ergänzt OpenCV 4.12.0.88 und imageio-ffmpeg 0.6.0 separat unter state/video/swarm-python. Kein erneuter ComfyUI-Build. Bestehende UI-Einstellungen bleiben erhalten. --replace ersetzt ausschließlich den mit application=swarm-ui markierten Container.

Zugriff und Betrieb

  • UI: 127.0.0.1:8125; lokaler Transportproxy: 127.0.0.1:8126.
  • Backendadresse in Swarm: http://127.0.0.1:8126, Typ ComfyUI API By URL, AllowIdle=true.
  • Zuerst in Deck auf Video wechseln. Dann Swarm öffnen und vorhandenes LTX-Modell wählen. Auflösung, Länge und weitere Generierungsparameter werden in Swarm gesetzt.
  • Start/Stopp: docker start athena-swarm-ui / docker stop athena-swarm-ui. In Weitere Dienste zeigt Deck den Zustand und den Link zur Oberfläche.
  • Ausgaben und UI-Daten: /opt/athena-swarm-ui/Output, Data, dlbackend (schreibbar).
  • Modelle: Deck state/video/comfy-work/models → /swarm/Models, Deck state/models → /var/lib/deck/models, beide nur lesbar.
  • Authentisierung: eigenes Geheimnis state/video/comfy-client-token → /run/secrets/comfy-token, nur lesbar. Gilt ausschließlich im Videomodus, kein Zugriff auf die Deck-Verwaltungs-API. Proxy ergänzt nur HTTP/WebSocket-Authentisierung; die ComfyUI-API bleibt unverändert.
  • Host-Netzwerk dient ausschließlich der Loopback-Verbindung zum Deck-Endpoint. UI und Proxy binden ausschließlich an 127.0.0.1; keine Firewalländerung.

Mac-Tunnel, offen lassen:

ssh -N -i /Users/mike_i386/.ssh/athena_key -o BatchMode=yes -o ExitOnForwardFailure=yes -L 8125:127.0.0.1:8125 root@192.168.1.212

Danach http://127.0.0.1:8125/. Der Installer ist bewusst auf diese parallele Athena-Testinstallation zugeschnitten, kein universeller Debian-Installer.

Version und Integration

Upstream SwarmUI ist auf de7b834b4aabc6b0239acb76940833277445fe51 fixiert. patch-source.py hält drei nachvollziehbare Anpassungen fest: LTX-Textencoder verwendet Decks Loader auf der RTX 3060 und den vorhandenen BF16-Dateinamen; HTTP-Fehler werden korrekt als inaktives Backend erkannt; beim Wechsel von idle zu running werden die verfügbaren Knoten neu eingelesen. Der Transformer bleibt bei ComfyUI auf der bevorzugten RTX 5080 mit dessen Speicherverwaltung. Native llama.cpp-Bibliotheken im UI-Build werden entfernt.

Labels: io.athena-deck.managed=true, io.athena-deck.role=application, io.athena-deck.application=swarm-ui. Nur dieser Dienst wird ergänzt, vorhandene Router-, WireGuard- und LTX-DeskWEB-Dienste bleiben unberührt.

Prüfung: UI, Label-Erkennung, authentisierte native ComfyUI-API, WebSocket-Handshake und Backend-Aktivierung werden geprüft. Eine erfolgreiche vollständige Videogenerierung mit den BF16-Gewichten wird damit noch nicht behauptet. Swarm unterstützt weitere Funktionen, deren optionale Knoten/Modelle nicht automatisch installiert werden.

Referenz: https://github.com/mcmonkeyprojects/SwarmUI/blob/master/src/BuiltinExtensions/ComfyUIBackend/README.md