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>
53 lines
1.2 KiB
Caddyfile
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
|
|
}
|