From 804b5192fc379839b0f65f210c0f3d2ea5b5bb70 Mon Sep 17 00:00:00 2001 From: ARIA Date: Sun, 19 Jul 2026 22:58:00 +0000 Subject: [PATCH] Doku: Restart-Gateway-Button-Fehler ('no such gateway default') erklaeren und Workaround dokumentieren --- README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/README.md b/README.md index 3781257..6c0fbac 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,41 @@ Falls der Fehler trotzdem auftritt: pruefen ob Dein `Caddyfile` den (`git pull` + `docker-compose up -d --build caddy`, kein Neubuild noetig, Caddy liest die Config beim Start neu ein). +**"Restart Gateway"-Button im Dashboard zeigt +`✗ no such gateway 'default': register it with 'hermes profile create default' +first, or pass an existing profile name via '-p '`:** Kein Bug bei uns, +sondern eine Architektur-Inkompatibilitaet zwischen unserem Deploy-Stil und +dem Dashboard-Button. Hintergrund (im Hermes-Sourcecode nachgesehen, +`hermes_cli/service_manager.py` + `hermes_cli/container_boot.py`): + +- Unser `hermes-agent`-Service startet mit `command: ["gateway", "run"]` + direkt als Container-Kommando. Das Image erkennt dieses Muster als + "Legacy-Start" und supervised den Prozess ueber den **statischen** + s6-Service `main-hermes` (fest im Image, siehe + `/etc/s6-overlay/s6-rc.d/`). +- Der Dashboard-Restart-Button ruft dagegen immer `hermes gateway restart` + auf (ohne `-p` = Profil `default`). Dieser Befehl sucht einen **dynamisch + registrierten** s6-Service `gateway-default` unter `/run/service/` — der + entsteht aber nur durch `hermes profile create ` (Per-Profile- + Gateway-System). Bei uns wurde das nie ausgefuehrt, `main-hermes` und + `gateway-default` sind zwei komplett getrennte Dinge im selben Image. +- Ergebnis: der Button findet "sein" `gateway-default` nicht und wirft genau + diesen Fehler — der eigentliche Gateway-Prozess (`main-hermes`) laeuft + davon voellig unbeeindruckt normal weiter. + +**Fix / Workaround:** Den Dashboard-Restart-Button bei uns einfach nicht +benutzen, sondern von aussen den Container neu starten: +```bash +docker-compose restart hermes-agent +``` +Das genuegt fast nie: `main-hermes` laeuft unter s6-Supervision mit +Auto-Restart bei Crash (siehe Startup-Log "gateway is now running under s6 +supervision (auto-restart on crash...)"), ein manueller Restart ist im +Normalbetrieb also selten noetig. `hermes profile create default` +NICHT ausfuehren, um den Button zu "reparieren" — das wuerde einen zweiten, +parallelen Gateway-Mechanismus fuer denselben Port aufmachen und ist nicht +das, wofuer unser Single-Profile-Setup gebaut ist. + ## Verzeichnisse (nicht committet, siehe .gitignore) - `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)