synops/config/caddy/Caddyfile
vegard f1e9634117 Caddy-config: reverse proxy for alle Synops-domener (oppgave 1.4)
Oppretter Caddyfile med:
- auth.sidelinja.org → Authentik SSO
- sidelinja.org → SpacetimeDB (/spacetime/*), media (/media/*), SvelteKit (placeholder)
- api.sidelinja.org → maskinrommet (placeholder, 503 til fase 2)
- git.sidelinja.org → Forgejo
- vegard.info → placeholder

Auto-TLS via Let's Encrypt. Tjenester som ikke er deployet ennå bruker
respond-placeholders — kommentert reverse_proxy aktiveres når containerne
er klare. Verifisert på server: alle domener svarer med korrekt status.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 12:11:22 +01:00

53 lines
1.2 KiB
Caddyfile

# Synops — Caddyfile
#
# Eneste tjeneste med eksponerte porter (80/443).
# Alt annet rutes internt via Docker-nettverket sidelinja-net.
# Auto-TLS via Let's Encrypt for alle domener.
# === SSO ===
auth.sidelinja.org {
reverse_proxy authentik-server:9000
}
# === Sidelinja (hovedapplikasjon) ===
sidelinja.org {
# SpacetimeDB (WebSocket)
handle_path /spacetime/* {
reverse_proxy spacetimedb:3000
}
# Podcast media (statiske filer med byte-range support)
handle_path /media/* {
root * /srv/media
file_server {
browse
}
}
# SvelteKit (frontend + SSR API)
# Aktiveres når SvelteKit-containeren er klar (fase 3)
# reverse_proxy sveltekit:3000
# Placeholder til SvelteKit er deployet
respond "sidelinja.org Synops v2 under utvikling" 200
}
# === Maskinrommet API ===
api.sidelinja.org {
# Rust/axum backend (fase 2)
# Aktiveres når maskinrommet-containeren er klar
# reverse_proxy maskinrommet:3001
# Placeholder til maskinrommet er deployet
respond "api.sidelinja.org ikke tilgjengelig ennå" 503
}
# === Forgejo (Git) ===
git.sidelinja.org {
reverse_proxy forgejo:3000
}
# === Vegard.info ===
vegard.info {
respond "vegard.info under construction" 200
}