Personal site & blog for jeanlucmakiola.de. - Astro 7 static output; self-hosted Inter + JetBrains Mono (Fontsource) - Material 3 Expressive design tokens (red accent over neutral surfaces) - Home (hero + about + selected work + latest writing) - /work index + per-app pages (Calendula, Agendula, floret-kit) with build-time Gitea release tags, brand-icon link rows, features grid, and an at-a-glance facts panel - Blog via Markdown content collection; RSS, sitemap, robots, OG/SEO - Privacy-respecting Umami analytics, env-gated (off in dev) - Dockerfile (build -> Caddy) + Caddyfile for Coolify deploy Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
525 B
Caddyfile
17 lines
525 B
Caddyfile
# Caddy serves the static build inside the container on :80.
|
|
# Coolify's proxy terminates TLS and handles the public domain.
|
|
:80 {
|
|
root * /srv
|
|
encode zstd gzip
|
|
file_server
|
|
|
|
# Astro builds "/foo" -> "/foo/index.html"; try clean URLs first.
|
|
try_files {path} {path}/ {path}.html /404.html
|
|
|
|
# Long-cache fingerprinted assets, revalidate HTML.
|
|
@assets path /_astro/*
|
|
header @assets Cache-Control "public, max-age=31536000, immutable"
|
|
@html path *.html /
|
|
header @html Cache-Control "public, max-age=0, must-revalidate"
|
|
}
|