marker: auf iris-server-hosts umstellen (Picker mit needs, host_id statt ssh_target, Panel ohne SSH-Felder) #135
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#135
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Warum
Folge von iris/iris-plugins#115: Plugins wählen ihren Rechner nur noch aus der Liste von
iris-server-hosts(Kennunghost_id) und kennen weder SSH-Adresse noch Schlüssel. Marker ist das erste der fünf GPU-Plugins, das umgestellt wird (heartmula, whisper, qwen-tts-linux und comfyui-bridge folgen in eigenen Issues). Das Panel holt heute/gpu-hosts/targets; diese Route gibt es auf beiden Servern nicht mehr (404), der Picker bleibt leer.Spezifikation
GET /hosts/targets?needs=gpu&needs=dockerund zeigt die Rechner mit Karte(n) und Docker. Die Anforderung steht bewusst nur im Picker-Aufruf, nicht im Manifest (host_capabilities): Marker läuft auf Apple Silicon auch lokal ohne Host, die Installations-Sperre darf es dort nicht verhindern.host_id(bei „Verbindung testen“, Installation, Start). Gespeichert wirdhost_idinmarker_plugin_config.json;ssh_targetwird nicht mehr geschrieben (ein früher gespeichertesgpu_host_idwird einmal als Vorauswahl gelesen).Nicht in diesem Issue
Die anderen vier GPU-Plugins (eigene Issues) und der Check-Knopf auf der Iris-Seite.
Stand
Verlauf und PRs stehen in den Kommentaren. Eingereicht wird erst nach Alfs Test.
Entwicklung: Panel umgestellt, Paket zum Testen (noch nicht eingereicht)
Geändert (Marker 1.18.0, lokal, ungeshippt):
GET /hosts/targets?needs=gpu&needs=dockerstatt/gpu-hosts/targets(404). Einträge zeigen Karten ausgpus[](Name, VRAM in GB);reachablegibt es nicht mehr.host_id(Verbindung testen, Installation, Start). Gespeichert wirdhost_id(früheresgpu_host_idwird einmal als Vorauswahl gelesen);ssh_targetwird nicht mehr geschrieben. Die Config-Route ersetzt die ganze Datei, ein altesssh_targetverschwindet beim nächsten Speichern.http://host:8001), sie wird nicht gespeichert.Entscheidung: Die Anforderung (GPU und Docker) steht im Picker-Aufruf, nicht im Manifest, damit die Installations-Sperre Marker nicht auf einem Mac blockiert, der es lokal auf der Apple-GPU nutzt.
Geprüft: JavaScript des Panels syntaktisch (
node --check); die Picker-Route liefert die erwarteten Felder (Live-Prüfung in #115). Das Panel selbst ist noch nicht in der App gelaufen.Zum Testen:
~/Desktop/marker-1.18.0.irispluginin Iris importieren (Marker ist auf dem Mac deinstalliert; Einstellungen → Plugins → Importieren), dann Konfigurieren: Picker zeigt192.168.178.153/iris-server(nichtself: der Mac hat keine Karte), „Verbindung testen“, Installation, Konvertierung. Eingereicht wird erst nach Alfs Test; dann PR hier verlinkt.Marker 1.18.0 im Marktplatz veröffentlicht (Registry-Commit
c9fb606)Auf Alfs Wunsch (Plugins immer veröffentlichen, damit er sie zum Testen direkt aus dem Marktplatz installiert) per
./publish-plugins.sh markerveröffentlicht (vorher Probelauf: 1 aktualisiert). Das Paket entspricht dem Stand im Arbeitsverzeichnis, der Code ist noch nicht inmain(kommt pershipnach Alfs Test).Zum Testen: Marker im Marktplatz installieren oder aktualisieren (statt der Datei vom Schreibtisch), dann Konfigurieren: Picker, „Verbindung testen“, Installation, Konvertierung.
Verknüpft: Die Infrastruktur für Zustandsanzeige und Rechnerwahl bei „Laden“ steht in iris/Iris#85 (iris/Iris#85). Marker bekommt dort
config-status, verliert die InstallationsfrageMARKER_SERVER_URLund richtet die lokale Umgebung nach der Wahl ein; die Umstellung hier (Picker,host_id) bleibt der Teil in diesem Issue.Marker 1.19.0 veröffentlicht (Registry-Commit
ba99018) — wartet auf Alfs TestFolgt aus der Grill-me-Runde in iris/Iris#85: Die Rechnerwahl passiert bei „Laden“ im Marktplatz, nicht mehr in einer Installationsfrage.
Geändert:
install_config(MARKER_SERVER_URL) entfällt; Manifesthost_capabilities: ["gpu","docker"]undlocal_mode: ["macos"];post_install.shliestIRIS_HOST_MODE(local: lokale Umgebung einrichten,pending: nichts einrichten) und bricht auf Intel/Linux nicht mehr ab;config-status(Grün/Gelb, siehe PLAN.md),local-installundlocal-install-status(richten die lokale Umgebung über denselben Hook ein); das Panel zeigt „Bitte wählen …“, führt „Dieser Iris-Server (lokal)“ im Picker und hat „Lokale Umgebung einrichten“. Zu 1.18.0 (nur Picker,host_idstatt SSH-Feldern) ist das die Fortsetzung.Geprüft: 13 neue Tests (
tests/test_config_status.py), JavaScript des Panels pernode --check, Paket gebaut und der Inhalt angesehen. Nicht geprüft: das Panel in der App, der Marktplatz-Ablauf „Laden“ (braucht die neu gebaute Iris-App aus iris/Iris#85) und die lokale Einrichtung auf diesem Mac.Zum Testen: Iris-App neu bauen, Marker im Marktplatz installieren (es gibt zwei passende GPU-Rechner, also öffnet sich das Konfigurationsfenster), „Bitte wählen …“ ersetzen, speichern, und den Knopf in der Kachel prüfen. Eingereicht wird erst nach Alfs Test.
Marker 1.19.1: Panel vereinfacht (veröffentlicht)
Alfs Rückmeldung zum Panel aus 1.19.0 (öffnete sich bei „Laden“ von selbst): zu kompliziert, der Marker-Server-Abschnitt überflüssig, die „Erweitert“-Hülle soll „Installieren auf:“ heißen.
Geändert: Der Abschnitt „Marker-Server“ (URL-Feld, „Verbindung testen“) und die „Erweitert“-Hülle entfallen, ebenso der SSH-„Verbindung testen“-Knopf mit seinem falschen Hinweis („muss getestet sein, bevor gespeichert werden kann“). Es gibt einen Abschnitt „Installieren auf:“ mit dem Picker und darunter nur, was zur Wahl gehört: lokal „Lokale Umgebung einrichten“ samt lokaler Betriebsart; ein Rechner „Installieren/Aktualisieren“ mit Fortschritt, dazu unter „Optionen“ Installationspfad und GPU-Gerät. Die Adresse des Marker-Servers ergibt sich aus dem Rechner (
http://<Rechner>:8001) und wird nie von Hand eingetragen: Sie wird nach der Installation automatisch gespeichert (oder beim Speichern, wenn der Server dort schon antwortet), lokal bleibt sie leer. LLM-Boost und Speichern unverändert.Geprüft: 13 Tests grün, JavaScript per
node --check, allegetElementById-Ziele existieren im HTML. Das Panel selbst habe ich nicht in der App gesehen.Bewusst entfernt, bitte prüfen: der SSH-Test („Verbindung testen“); die Installation prüft die Verbindung selbst.
Marker 1.19.2: schon installierter Marker-Server ist grün (veröffentlicht)
Befund: Die Installation auf
iris-serverschlug mitunauthorizedbeim Laden vonforgejo.lewerken.duckdns.org/iris/marker:latestfehl. Die Docker-Anmeldung des Hosts an der Registry (~/.docker/config.json, Benutzeralf) wird abgelehnt (vermutlich ein Token von vor dem Wechsel am 2026-10-08, für beide Namenforgejo.lewerken.duckdns.orgunddocker:3000); mit dem aktuellen$FORGEJO_TOKENist das Image lesbar (200). Auf dem Host läuft schon ein Marker-Server (Image von vor zwei Wochen, healthy), das Panel hatte das sogar gemeldet.Entscheidung Alf: Die Docker-Anmeldung auf
iris-serverwird nicht angefasst (Vorschläge: eigenes Token nur mit Leserecht auf Pakete oder das vorhandene Token); stattdessen soll ein schon laufender Marker-Server grün als „installiert“ erscheinen statt einer roten Fehlermeldung.Geändert: Antwortet der Marker-Server auf dem gewählten Rechner, steht grün „Der Marker-Server ist auf diesem Rechner installiert und läuft.“ und der Knopf heißt „Aktualisieren“ (sonst „Installieren“ mit „Auf diesem Rechner ist noch kein Marker-Server installiert.“). Rot erscheint nur noch, wenn eine ausdrücklich gestartete Installation oder Aktualisierung wirklich scheitert; der Fehler wird dann wie bisher mit dem Protokoll gezeigt, nicht verschluckt.
Grenze / offen: Der laufende Server ist die alte Fassung des Images und lässt sich von hier aus erst aktualisieren, wenn die Docker-Anmeldung des Hosts erneuert ist (bewusst nicht gemacht). Aktualisieren scheitert bis dahin mit
unauthorized. Das Panel habe ich nicht in der App gesehen (nurnode --check).PR #136 gemergt: feat(marker): Rechnerwahl bei „Laden“, config-status, lokale Einrichtung, vereinfachtes Panel; iris-server-hosts config-status; Prüfung beim Veröffentlichen (#135, iris/Iris#85)
#136
Commits: