3.9 KiB
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, TypComfyUI 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, Deckstate/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.