# Caddy-Config fuer den Hermes-Dashboard-Reverse-Proxy.
# Keine Secrets hier drin — Username/Passwort-Hash kommen als {$ENV_VAR}
# (Caddyfile-Shorthand fuer {env.ENV_VAR}) aus dem Container-Environment,
# das wiederum aus .env kommt (siehe docker-compose.yml, Service "caddy").
#
# TLS: bewusst kein "tls internal" (Caddys eigene interne CA, Zertifikate nur
# ~12h gueltig, auto-rotiert) und kein Let's Encrypt (braucht oeffentliche
# Domain + Port 80). Stattdessen ein manuell erzeugtes selbstsigniertes
# Zertifikat mit 100 Jahren Laufzeit, siehe README fuer den openssl-Befehl.
# Einmalig im Browser als Sicherheits-Ausnahme akzeptieren, danach nie wieder
# Renewal-Aerger.
:443 {
	tls /certs/dashboard.crt /certs/dashboard.key

	basic_auth {
		{$HERMES_DASHBOARD_USER} {$CADDY_BASIC_AUTH_HASH}
	}

	reverse_proxy 127.0.0.1:9119
}

# Optional-freundlich: wer versehentlich mit http:// statt https:// draufklickt,
# landet trotzdem verschluesselt statt an "connection refused".
:80 {
	redir https://{host}{uri} permanent
}
