comfyui-bridge: auf Hosts umstellen (ComfyUI läuft auf:, config-status) #145

Closed
opened 2026-10-19 13:34:10 +00:00 by alf · 4 comments
Owner

Ziel

ComfyUI Bridge nutzt das Plugin Hosts (Teil von iris/iris-plugins#115) und lässt sich wie Marker auf einem GPU-Rechner installieren: das Plugin speichert nur die Kennung (host_id), kein SSH-Ziel, kein Schlüssel im Panel.

Besonderheit

Die Bridge ist ein Client für eine ComfyUI-URL; Rechner und Installation sind optional (auch ein schon laufender Server lässt sich eintragen). Deshalb kein host_capabilities und keine Installations-Sperre; der Picker filtert je Aufruf (needs=gpu&needs=docker).

Spezifikation

  • Panel: „Installieren auf:“ (Picker), Zustand, „Installieren/Aktualisieren“, Fortschrittslog, Optionen (Installationsordner, GPU-Index, Modellordner); die URL trägt sich nach der Installation selbst ein und wird getestet. Entfallen: SSH-Schlüssel, „Anderer Rechner“, SSH-Test, „ComfyUI jetzt starten“.
  • Installation über panel_api (host-status, install, install-status): Compose-Datei kopieren, Image forgejo.lewerken.duckdns.org/iris/comfyui:latest ziehen, Container starten, auf /system_stats warten. Ein fremder Container comfyui bleibt unverändert und gilt als „installiert“.
  • Konfiguration: comfyui_url, host_id, installed_on, install_path, gpu_index, models_path; comfyui_ssh_target und gpu_host_id entfallen.
  • comfyui_client.py löst das SSH-Ziel für den Konsolen-Fortschritt über GET /hosts/resolve auf.
  • config-status: grün, wenn eine URL eingetragen ist; sonst gelb. Version 1.13.0.

Stand

Entwickelt und veröffentlicht (1.13.0), Image in der Registry. Nutzertest offen; erst danach ship.

## Ziel ComfyUI Bridge nutzt das Plugin **Hosts** (Teil von iris/iris-plugins#115) und lässt sich wie Marker auf einem GPU-Rechner installieren: das Plugin speichert nur die Kennung (`host_id`), kein SSH-Ziel, kein Schlüssel im Panel. ## Besonderheit Die Bridge ist ein Client für eine **ComfyUI-URL**; Rechner und Installation sind optional (auch ein schon laufender Server lässt sich eintragen). Deshalb kein `host_capabilities` und keine Installations-Sperre; der Picker filtert je Aufruf (`needs=gpu&needs=docker`). ## Spezifikation - Panel: „Installieren auf:“ (Picker), Zustand, „Installieren/Aktualisieren“, Fortschrittslog, Optionen (Installationsordner, GPU-Index, Modellordner); die URL trägt sich nach der Installation selbst ein und wird getestet. Entfallen: SSH-Schlüssel, „Anderer Rechner“, SSH-Test, „ComfyUI jetzt starten“. - Installation über `panel_api` (`host-status`, `install`, `install-status`): Compose-Datei kopieren, Image `forgejo.lewerken.duckdns.org/iris/comfyui:latest` ziehen, Container starten, auf `/system_stats` warten. Ein fremder Container `comfyui` bleibt unverändert und gilt als „installiert“. - Konfiguration: `comfyui_url`, `host_id`, `installed_on`, `install_path`, `gpu_index`, `models_path`; `comfyui_ssh_target` und `gpu_host_id` entfallen. - `comfyui_client.py` löst das SSH-Ziel für den Konsolen-Fortschritt über `GET /hosts/resolve` auf. - `config-status`: grün, wenn eine URL eingetragen ist; sonst gelb. Version 1.13.0. ## Stand Entwickelt und veröffentlicht (1.13.0), Image in der Registry. Nutzertest offen; erst danach `ship`.
Author
Owner

Stand: comfyui-bridge 1.12.0 ist im Marktplatz veröffentlicht, Nutzertest offen (noch nicht geshippt).

Geändert:

  • Panel: Abschnitt „ComfyUI läuft auf:“ (optional, Picker needs=gpu&needs=docker, Eintrag „Kein Rechner“), „ComfyUI jetzt starten“ nur mit Rechner. Entfallen: SSH-Schlüssel, „Anderer Rechner“, SSH-Verbindung testen. Gespeichert wird host_id; comfyui_ssh_target/gpu_host_id entfallen (altes Ziel nur als Vorauswahl). Eine schon gespeicherte URL lässt sich beim Ändern des Rechners ohne neuen Test speichern.
  • comfyui_client.py: Konsolen-Fortschritt löst das SSH-Ziel über GET /hosts/resolve auf.
  • config-status (python/comfyui_bridge_panel_api.py, 3 Tests grün): grün mit URL, sonst gelb. Kein host_capabilities, weil eine URL genügt.
  • Store-Texte, PLAN.md (inkl. Lessons Learned) angepasst.

Grenzen: Panel nur auf JS-Syntax geprüft, Start-Knopf und Konsolen-Fortschritt mit Rechner-Kennung noch nicht live getestet.

**Stand: comfyui-bridge 1.12.0 ist im Marktplatz veröffentlicht, Nutzertest offen (noch nicht geshippt).** Geändert: - Panel: Abschnitt „ComfyUI läuft auf:“ (optional, Picker `needs=gpu&needs=docker`, Eintrag „Kein Rechner“), „ComfyUI jetzt starten“ nur mit Rechner. Entfallen: SSH-Schlüssel, „Anderer Rechner“, SSH-Verbindung testen. Gespeichert wird `host_id`; `comfyui_ssh_target`/`gpu_host_id` entfallen (altes Ziel nur als Vorauswahl). Eine schon gespeicherte URL lässt sich beim Ändern des Rechners ohne neuen Test speichern. - `comfyui_client.py`: Konsolen-Fortschritt löst das SSH-Ziel über `GET /hosts/resolve` auf. - `config-status` (`python/comfyui_bridge_panel_api.py`, 3 Tests grün): grün mit URL, sonst gelb. Kein `host_capabilities`, weil eine URL genügt. - Store-Texte, PLAN.md (inkl. Lessons Learned) angepasst. Grenzen: Panel nur auf JS-Syntax geprüft, Start-Knopf und Konsolen-Fortschritt mit Rechner-Kennung noch nicht live getestet.
Author
Owner

Umbau nach Nutzerhinweis (Screenshot des Panels): ComfyUI Bridge 1.13.0 ist veröffentlicht, Nutzertest offen (noch nicht geshippt).

  • Image: In der Forgejo-Registry gab es kein ComfyUI-Image. comfyui:latest von iris-server (Stand 2026-08-29, 60 GB) liegt jetzt als forgejo.lewerken.duckdns.org/iris/comfyui:latest dort, anonym ziehbar (Manifest 200 ohne Login). Der Push über den Proxy-Namen brach bei einer großen Schicht ab (Forgejo-Log: EndUploadBlob nach 183 s, „context canceled“), über docker:3000 ging er durch. Die Anmeldung dafür lief mit dem Forgejo-Token per Stdin; danach docker logout, auf iris-server bleiben keine Zugangsdaten.
  • Panel neu: „Installieren auf:“ (Rechner mit GPU und Docker), Zustand, „Installieren/Aktualisieren“, Fortschrittslog, Optionen (Installationsordner, GPU-Index, Modellordner); die URL trägt sich nach der Installation selbst ein und wird getestet und gespeichert. „ComfyUI jetzt starten“ und die SSH-Reste entfallen.
  • Installation über panel_api (host-status, install, install-status; Hintergrundprozess, Rechner über GET /hosts/resolve), also ohne Änderung an Mac- oder Linux-Server. Es wird docker/docker-compose.yml kopiert, das Image gezogen, der Container gestartet und auf /system_stats gewartet. Ein fremder Container comfyui (anderes Compose-Projekt, zum Beispiel ~/docker/comfyui auf iris-server) wird als „installiert“ gezeigt und nie angefasst.
  • Tests: 8 grün (config-status, Install-Zustand, Compose-Vorlage); _container_info live gegen iris-server geprüft.

Grenzen: Die Installation selbst ist nicht auf einem leeren Rechner gelaufen (ein zweiter GPU-Host steht nicht zur Verfügung), Panel nur auf JS-Syntax geprüft. Das Image enthält die Custom Nodes von 2026-08-29; Modelle liegen nicht darin (Modellordner-Option).

**Umbau nach Nutzerhinweis (Screenshot des Panels): ComfyUI Bridge 1.13.0 ist veröffentlicht, Nutzertest offen (noch nicht geshippt).** - **Image:** In der Forgejo-Registry gab es kein ComfyUI-Image. `comfyui:latest` von iris-server (Stand 2026-08-29, 60 GB) liegt jetzt als `forgejo.lewerken.duckdns.org/iris/comfyui:latest` dort, anonym ziehbar (Manifest 200 ohne Login). Der Push über den Proxy-Namen brach bei einer großen Schicht ab (Forgejo-Log: EndUploadBlob nach 183 s, „context canceled“), über `docker:3000` ging er durch. Die Anmeldung dafür lief mit dem Forgejo-Token per Stdin; danach `docker logout`, auf iris-server bleiben keine Zugangsdaten. - **Panel neu:** „Installieren auf:“ (Rechner mit GPU und Docker), Zustand, „Installieren/Aktualisieren“, Fortschrittslog, Optionen (Installationsordner, GPU-Index, Modellordner); die URL trägt sich nach der Installation selbst ein und wird getestet und gespeichert. „ComfyUI jetzt starten“ und die SSH-Reste entfallen. - **Installation** über `panel_api` (`host-status`, `install`, `install-status`; Hintergrundprozess, Rechner über `GET /hosts/resolve`), also ohne Änderung an Mac- oder Linux-Server. Es wird `docker/docker-compose.yml` kopiert, das Image gezogen, der Container gestartet und auf `/system_stats` gewartet. Ein fremder Container `comfyui` (anderes Compose-Projekt, zum Beispiel `~/docker/comfyui` auf iris-server) wird als „installiert“ gezeigt und nie angefasst. - Tests: 8 grün (config-status, Install-Zustand, Compose-Vorlage); `_container_info` live gegen iris-server geprüft. Grenzen: Die Installation selbst ist nicht auf einem leeren Rechner gelaufen (ein zweiter GPU-Host steht nicht zur Verfügung), Panel nur auf JS-Syntax geprüft. Das Image enthält die Custom Nodes von 2026-08-29; Modelle liegen nicht darin (Modellordner-Option).
Author
Owner

PR #146 gemergt: feat(comfyui-bridge): auf Hosts umgestellt, ComfyUI per Image installierbar, config-status (iris/iris-plugins#145)
#146

Commits:

  • feat(comfyui-bridge): auf Hosts umgestellt, ComfyUI per Image installierbar, config-status (iris/iris-plugins#145)
PR #146 gemergt: feat(comfyui-bridge): auf Hosts umgestellt, ComfyUI per Image installierbar, config-status (iris/iris-plugins#145) https://forgejo.lewerken.duckdns.org/iris/iris-plugins/pulls/146 Commits: - feat(comfyui-bridge): auf Hosts umgestellt, ComfyUI per Image installierbar, config-status (iris/iris-plugins#145)
Author
Owner

PR #146 gemergt (main = 8ca2ff8). Nutzertest bestanden: ComfyUI Bridge 1.13.0 über den Marktplatz, neues Panel funktioniert. Inhalt: Panel „Installieren auf:“, Installation per Registry-Image über panel_api, config-status, Client löst das Ziel über /hosts/resolve auf, 8 Tests (inkl. neuer Dateien docker/, python/comfyui_bridge_panel_api.py, tests/). Offen: Installation auf einem leeren Rechner nicht erprobt. Issue bleibt offen bis zu deinem „schließen“. Damit sind alle fünf GPU-Plugins umgestellt; offen bleibt config-status für die übrigen Plugins mit Panel (Folge-Issue unter iris/Iris#85).

**PR #146 gemergt** (main = 8ca2ff8). Nutzertest bestanden: ComfyUI Bridge 1.13.0 über den Marktplatz, neues Panel funktioniert. Inhalt: Panel „Installieren auf:“, Installation per Registry-Image über `panel_api`, `config-status`, Client löst das Ziel über `/hosts/resolve` auf, 8 Tests (inkl. neuer Dateien `docker/`, `python/comfyui_bridge_panel_api.py`, `tests/`). Offen: Installation auf einem leeren Rechner nicht erprobt. Issue bleibt offen bis zu deinem „schließen“. Damit sind alle fünf GPU-Plugins umgestellt; offen bleibt `config-status` für die übrigen Plugins mit Panel (Folge-Issue unter iris/Iris#85).
alf closed this issue 2026-10-21 23:34:40 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
iris/iris-plugins#145
No description provided.