Dashboard-Auth: Hermes verweigert 0.0.0.0-Bind ohne registrierten Auth-Provider
Hermes' eigenes Auth-Gate blockt den Container-Start hart, wenn --host 0.0.0.0 gesetzt ist aber keine Auth konfiguriert wurde. Basic-Auth-Block in config.yaml.example ergaenzt, dashboard-Service bekommt HERMES_DASHBOARD_USER + HERMES_DASHBOARD_PASSWORD_HASH als Pflicht-Env, .env.example dokumentiert die Hash-Erzeugung ueber Hermes' eingebautes plugins.dashboard_auth.basic.
This commit is contained in:
@@ -31,3 +31,23 @@ model:
|
||||
# Gateway prüft das als "Authorization: Bearer <api_key>" — der OpenAI SDK
|
||||
# (den Hermes intern nutzt) setzt den Header automatisch aus diesem Feld.
|
||||
api_key: "${HERMES_GATEWAY_TOKEN}"
|
||||
|
||||
# ─── Dashboard-Auth ─────────────────────────────────────────────────────
|
||||
# Seit 19.07.2026 Pflicht: Hermes 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"). Ohne diesen Block bindet's nur
|
||||
# noch auf 127.0.0.1 (Tunnel), egal was im docker-compose `command:` steht.
|
||||
#
|
||||
# Hash EINMALIG erzeugen (im laufenden Dashboard-Container, NICHT das
|
||||
# Klartext-Passwort committen oder in .env schreiben — nur den Hash):
|
||||
# docker exec -it hermes-agent-dashboard python -c \
|
||||
# "from plugins.dashboard_auth.basic import hash_password; print(hash_password('DEIN-PASSWORT'))"
|
||||
# Ergebnis nach .env als HERMES_DASHBOARD_PASSWORD_HASH eintragen.
|
||||
#
|
||||
# ${HERMES_DASHBOARD_USER} / ${HERMES_DASHBOARD_PASSWORD_HASH} werden wie
|
||||
# oben von Hermes selbst aus den Container-Env-Vars expandiert.
|
||||
dashboard:
|
||||
basic_auth:
|
||||
username: "${HERMES_DASHBOARD_USER}"
|
||||
password_hash: "${HERMES_DASHBOARD_PASSWORD_HASH}"
|
||||
|
||||
Reference in New Issue
Block a user