# SITE_ADDRESS is the domain to serve (e.g. lottery.example.com) — Caddy
# automatically requests a Let's Encrypt certificate for it.
#
# Left at the default "localhost" (dev mode, no domain), Caddy detects it's
# not a public hostname and issues a locally-trusted self-signed certificate
# instead, via its internal CA. Browsers will still warn on first visit
# unless that CA is explicitly trusted — expected for local/dev use.
{$SITE_ADDRESS:localhost} {
	# gzip buffers output, which would delay delivery on the SSE stream
	# (/rounds/stream, app/api/routes/rounds.py) — it needs each event flushed
	# to the client immediately, not batched. Everything else still compresses.
	@not_sse {
		not path /rounds/stream
	}
	encode @not_sse gzip
	reverse_proxy app:8123
}
