Astro 6 + Starlight 0.39 documentation site for omni-pca, organised around the Diatáxis framework (Tutorials / How-to / Reference / Explanation), plus a chronological Journey page and Changelog. Theme: muted slate-blue with amber accents. astro-icon + lucide preinstalled. Astro telemetry and Starlight devToolbar both off. Deployment: multi-stage Dockerfile (node:25-alpine builder -> caddy:2-alpine runtime), inner Caddy serves static dist on :80, outer caddy-docker-proxy on the host terminates TLS for hai-omni-pro-ii.warehack.ing.
23 lines
709 B
Caddyfile
23 lines
709 B
Caddyfile
# Inner Caddy: just serves the static dist on :80.
|
|
# The host's caddy-docker-proxy handles TLS and routing for the public hostname.
|
|
|
|
:80 {
|
|
root * /srv
|
|
encode zstd gzip
|
|
file_server
|
|
|
|
# SPA-ish fallback: prefer the directory's index.html, then a 404 page.
|
|
try_files {path} {path}/ /404.html
|
|
|
|
header {
|
|
# Light security defaults; the outer Caddy can override.
|
|
X-Content-Type-Options "nosniff"
|
|
Referrer-Policy "strict-origin-when-cross-origin"
|
|
Permissions-Policy "interest-cohort=()"
|
|
}
|
|
|
|
# Long cache for fingerprinted assets emitted by Astro.
|
|
@hashed path_regexp \.[A-Za-z0-9_-]{8,}\.(js|css|woff2?|svg|png|jpg|jpeg|webp|avif)$
|
|
header @hashed Cache-Control "public, max-age=31536000, immutable"
|
|
}
|