Dashboard-Auth komplett entfernt statt nur optional: Caddy ist einzige Auth-Schicht
Hermes' eigenes Auth-Gate (dashboard.basic_auth/HERMES_DASHBOARD_PASSWORD_HASH) engagiert sich laut eigener Fehlermeldung ohnehin nur bei einem 0.0.0.0-Bind, der Dashboard-Container bindet aber fest auf 127.0.0.1 -- das Gate haette hier nie gegriffen. Statt es als "Fallback falls Bind mal wieder wandert" zu behalten, jetzt sauber raus: HERMES_DASHBOARD_PASSWORD_HASH aus .env.example und docker-compose.yml, der auskommentierte dashboard:-Block aus config.yaml.example, README-Setup auf 8 statt 9 Schritte umnummeriert. Caddy (TLS + eigene Basic-Auth) ist damit die einzige noetige Auth-Schicht -- ein Layer statt zwei, weniger Setup, weniger Verwirrung. Stale Kommentare im Caddy-Compose-Block (redeten noch von "zweiter Basic-Auth-Schicht noetig weil unklar ob dashboard.basic_auth greift") ebenfalls korrigiert.
This commit is contained in:
@@ -32,27 +32,11 @@ model:
|
||||
# (den Hermes intern nutzt) setzt den Header automatisch aus diesem Feld.
|
||||
api_key: "${HERMES_GATEWAY_TOKEN}"
|
||||
|
||||
# ─── Dashboard-Auth (standardmaessig AUSKOMMENTIERT) ────────────────────
|
||||
# Hermes' eigenes Auth-Gate verweigert den Bind des Dashboards auf 0.0.0.0
|
||||
# komplett, wenn kein Auth-Provider registriert ist ("Refusing to bind
|
||||
# dashboard to 0.0.0.0 — the auth gate engages on non-loopback binds, but
|
||||
# no auth providers are registered") — greift aber laut derselben Meldung
|
||||
# NUR bei einem 0.0.0.0-Bind. Unser docker-compose.yml bindet das Dashboard
|
||||
# bewusst auf 127.0.0.1 und stellt es per Caddy-Reverse-Proxy (TLS + eigene
|
||||
# Basic-Auth) nach aussen bereit — das Gate hier engagiert sich dabei gar
|
||||
# nicht erst, dieser Block ist im Normalbetrieb also NICHT noetig.
|
||||
#
|
||||
# Nur falls Du den Dashboard-Bind mal direkt auf 0.0.0.0 stellst (z.B. ohne
|
||||
# Caddy testen): Block unten einkommentieren + HERMES_DASHBOARD_PASSWORD_HASH
|
||||
# in .env setzen. Hash EINMALIG erzeugen (NICHT das Klartext-Passwort
|
||||
# committen oder in .env schreiben — nur den Hash), gegen den "hermes-agent"-
|
||||
# Container, NICHT "hermes-agent-dashboard" (der braucht den Hash schon zum
|
||||
# Hochfahren, Henne-Ei-Problem):
|
||||
# docker exec -it hermes-agent python -c \
|
||||
# "from plugins.dashboard_auth.basic import hash_password; print(hash_password('DEIN-PASSWORT'))"
|
||||
# Ergebnis nach .env als HERMES_DASHBOARD_PASSWORD_HASH eintragen.
|
||||
#
|
||||
# dashboard:
|
||||
# basic_auth:
|
||||
# username: "${HERMES_DASHBOARD_USER}"
|
||||
# password_hash: "${HERMES_DASHBOARD_PASSWORD_HASH}"
|
||||
# Kein dashboard.basic_auth-Block mehr hier: Hermes' eigenes Auth-Gate
|
||||
# engagiert sich laut eigener Fehlermeldung nur bei einem 0.0.0.0-Bind. Das
|
||||
# Dashboard bindet in docker-compose.yml fest auf 127.0.0.1 (command:), der
|
||||
# Caddy-Reverse-Proxy davor (TLS + eigene Basic-Auth) uebernimmt die
|
||||
# komplette Absicherung nach aussen. Falls der Dashboard-Bind je wieder auf
|
||||
# 0.0.0.0 gestellt wird, blockt Hermes den Start hart ab ("no auth providers
|
||||
# are registered") — das ist dann ein Signal, den Bind zurueckzustellen statt
|
||||
# hier einen Auth-Provider nachzuruesten.
|
||||
|
||||
Reference in New Issue
Block a user