Drop the Traefik-level basic auth layer — keep only Hermes's own login

By request: one auth layer, not two. Note this isn't really removing a
layer I added on top of nothing — Hermes's own gate is mandatory and
can't be disabled while the dashboard is reachable through a separate
Traefik container (it fails closed at startup on any non-loopback bind
without a configured auth provider). The only thing actually optional
was the Traefik-level middleware, so that's what comes out; Traefik now
just does TLS termination + routing.
This commit is contained in:
2026-08-23 17:02:59 +00:00
parent 9739676409
commit 143be8200e
2 changed files with 8 additions and 14 deletions
+3 -6
View File
@@ -39,16 +39,13 @@ HERMES_MATRIX_ACCESS_TOKEN=
HERMES_API_SERVER_KEY=
# --- hermes web dashboard (hermes.apps.williamturner.eu) ---
# Two independent auth layers: Hermes's own login (basic auth — its docs call this
# "not suitable for direct public-internet exposure" alone) plus a Traefik-level basic
# auth gate in front of it. Both required, different credentials recommended.
# Hermes's own login gate — mandatory once its dashboard is bound non-loopback (needed
# for Traefik, a separate container, to reach it at all), so this can't be turned off
# while the dashboard is reachable through Traefik.
HERMES_DASHBOARD_USERNAME=william
HERMES_DASHBOARD_PASSWORD=
# 32+ random bytes — `openssl rand -base64 32`
HERMES_DASHBOARD_SECRET=
# htpasswd-format "user:hash" for Traefik's basicauth middleware. Generate with:
# python3 -c "import crypt; print('someuser:' + crypt.crypt('somepassword', crypt.mksalt(crypt.METHOD_SHA512)))"
TRAEFIK_HERMES_AUTH_HASH=
# --- portainer (GitOps redeploy) ---
PORTAINER_STACK_WEBHOOK_URL=