Nye-TeeOff/deploy/Caddyfile

70 lines
1.7 KiB
Text
Raw Normal View History

2026-04-17 09:25:32 +02:00
{
email {$ACME_EMAIL}
}
www.teeoff.no {
redir https://teeoff.no{uri} permanent
}
# Gammelt domene (2026-08-05-flyttingen til teecup.golf) -- permanent
# redirect fremfor å bare slutte å svare, slik at gamle bokmerker/delte
# lenker/QR-koder på fysiske scorekort fortsatt havner riktig sted.
2026-07-17 22:29:29 +02:00
teecup.teeoff.no {
redir https://teecup.golf{uri} permanent
}
teecup.golf, www.teecup.golf {
2026-07-17 22:29:29 +02:00
encode zstd gzip
log {
output stdout
format console
}
# Offentlig, anonym lesing av opplastede bilder (MinIO, public-read
# bucket-policy) -- bucket-navnet ligger i selve stien (path-style
# adressering), derav /teecup-media/* som prefiks, ikke et eget
# subdomene (unngår en DNS-avhengighet som viste seg ikke å peke på
# denne serveren -- se CLAUDE.md-status).
handle /teecup-media/* {
reverse_proxy teecup-minio:9000
}
# WebSocket-trafikk (ADR-025, Kommunikasjon) -- rett til teecup_api,
# IKKE via Next.js sin rewrites()/teecup_frontend. Next.js proxyer ikke
# WebSocket-oppgraderinger pålitelig i "standalone"-modus; Caddy sin
# reverse_proxy håndterer Upgrade-headeren transparent uten egen config.
handle /ws/* {
reverse_proxy teecup_api:8000
}
handle {
reverse_proxy teecup_frontend:3000
}
2026-07-17 22:29:29 +02:00
}
2026-04-17 09:25:32 +02:00
teeoff.no {
encode zstd gzip
log {
output stdout
format console
}
# This upload route is implemented in Next.js, not FastAPI.
handle /api/admin/uploads/images* {
reverse_proxy frontend:3000
}
# All other /api traffic goes to the FastAPI backend.
# Use handle, not handle_path, so the /api prefix is preserved.
handle /api/* {
reverse_proxy api:8000
}
# Everything else is served by Next.js.
handle {
reverse_proxy frontend:3000
}
}