Dashboard-Auth: Hermes-eigene Auth nicht mehr Pflicht, Caddy reicht

Dashboard bindet seit dem Caddy-Umbau nur noch auf 127.0.0.1 -- Hermes'
Auth-Gate engagiert sich laut eigener Fehlermeldung NUR bei einem
0.0.0.0-Bind, greift also gar nicht mehr. HERMES_DASHBOARD_PASSWORD_HASH
ist damit optional statt Pflicht (kein docker-compose-Abbruch mehr bei
leerem Wert), der dashboard: basic_auth-Block in config.yaml.example ist
standardmaessig auskommentiert. Caddy (TLS + eigene Basic-Auth) bleibt
die einzige im Normalbetrieb noetige Auth-Schicht. README/.env.example
entsprechend entschlackt -- Hash-Erzeugen + Dollarzeichen-Escaping nur
noch als Fallback dokumentiert, falls der Bind mal wieder auf 0.0.0.0
wandert.
This commit is contained in:
ARIA
2026-07-19 22:15:26 +00:00
parent 68ca43e5ac
commit b1423ffb6e
4 changed files with 73 additions and 110 deletions
+13 -10
View File
@@ -187,22 +187,25 @@ services:
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
# Pflicht seit 19.07.2026: Hermes verweigert den 0.0.0.0-Bind mit hartem
# Exit, wenn kein Auth-Provider registriert ist ("Refusing to bind
# dashboard to 0.0.0.0 — ... no auth providers are registered"). Diese
# beiden Werte fuettern den dashboard.basic_auth-Block in
# hermes-agent-config/config.yaml.example (dort auch die Anleitung zum
# Hash-Erzeugen).
# NICHT MEHR PFLICHT seit dem Caddy-Umbau (19.07.2026, spaeter Abend):
# Hermes' eigenes Auth-Gate "engagiert sich" laut seiner eigenen
# Fehlermeldung NUR bei einem 0.0.0.0-Bind ("the auth gate engages on
# non-loopback binds"). Der Service unten bindet per `command:` auf
# 127.0.0.1 — das Gate greift also gar nicht, Caddy (siehe unten) macht
# die eigentliche Absicherung nach aussen (TLS + eigene Basic-Auth).
# HERMES_DASHBOARD_PASSWORD_HASH ist daher optional: leer lassen ist ok,
# kein Hash-Erzeugen mehr noetig fuer den Normalbetrieb. Nur falls der
# Dashboard-Bind mal wieder auf 0.0.0.0 wandert, braucht's wieder einen
# Wert (siehe .env.example fuer die Erzeugung).
- HERMES_DASHBOARD_USER=${HERMES_DASHBOARD_USER:-admin}
- HERMES_DASHBOARD_PASSWORD_HASH=${HERMES_DASHBOARD_PASSWORD_HASH:?HERMES_DASHBOARD_PASSWORD_HASH muss in .env gesetzt sein - siehe .env.example. Ohne Auth-Provider verweigert Hermes den 0.0.0.0-Bind komplett.}
- HERMES_DASHBOARD_PASSWORD_HASH=${HERMES_DASHBOARD_PASSWORD_HASH:-}
# Kurskorrektur 19.07.2026, spaeter Abend: Stefan wollte erst 0.0.0.0
# (SSH-Tunnel machte mit SSL Probleme), jetzt aber die richtige Loesung:
# Dashboard bleibt auf 127.0.0.1 (Hermes' eigenes Auth-Gate verlangt dann
# gar keinen registrierten Provider mehr, siehe Fehlermeldung "the auth
# gate engages on non-loopback binds") und der Caddy-Reverse-Proxy unten
# macht TLS + Basic-Auth auf Port 443 nach aussen. HERMES_DASHBOARD_USER/
# _PASSWORD_HASH bleiben trotzdem gesetzt (schadet nicht, falls der Bind
# doch mal wieder auf 0.0.0.0 wandert).
# macht TLS + Basic-Auth auf Port 443 nach aussen. Das ist die einzige
# Auth-Schicht die im Normalbetrieb wirklich noetig ist.
command: ["dashboard", "--host", "127.0.0.1", "--no-open"]
# ─── Caddy (TLS-Reverse-Proxy + Basic-Auth vor dem Dashboard) ──────────