Doku: Restart-Gateway-Button-Fehler ('no such gateway default') erklaeren und Workaround dokumentieren

This commit is contained in:
ARIA
2026-07-19 22:58:00 +00:00
parent 4be51faa07
commit 804b5192fc
+35
View File
@@ -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, (`git pull` + `docker-compose up -d --build caddy`, kein Neubuild noetig,
Caddy liest die Config beim Start neu ein). 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 <name>'`:** 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 <name>` (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) ## Verzeichnisse (nicht committet, siehe .gitignore)
- `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context) - `hermes-agent-src/` — geklonter Hermes-Agent-Sourcecode (Docker-Build-Context)