Docker Compose stack (Gitea + Postgres) on port 3000, SSH on 2222, reverse-proxied via Caddy at git.monotrope.au. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
810 B
Caddyfile
46 lines
810 B
Caddyfile
monotrope.au {
|
|
root * /var/www/monotrope
|
|
file_server
|
|
|
|
# Compression
|
|
encode zstd gzip
|
|
|
|
# Cache headers for static assets
|
|
@static {
|
|
path *.css *.js *.ico *.gif *.jpg *.jpeg *.png *.webp *.svg *.woff *.woff2 *.ttf *.eot
|
|
}
|
|
header @static Cache-Control "public, max-age=31536000, immutable"
|
|
|
|
# HTML and RSS — revalidate each time
|
|
@html {
|
|
path *.html / /posts/ /posts/*
|
|
}
|
|
header @html Cache-Control "public, max-age=0, must-revalidate"
|
|
}
|
|
|
|
# Redirect www to apex
|
|
www.monotrope.au {
|
|
redir https://monotrope.au{uri} permanent
|
|
}
|
|
|
|
# Miniflux RSS reader
|
|
reader.monotrope.au {
|
|
reverse_proxy localhost:8080
|
|
|
|
encode zstd gzip
|
|
}
|
|
|
|
# Gitea
|
|
git.monotrope.au {
|
|
reverse_proxy localhost:3000
|
|
|
|
encode zstd gzip
|
|
}
|
|
|
|
# GoatCounter analytics
|
|
stats.monotrope.au {
|
|
reverse_proxy localhost:8081
|
|
|
|
encode zstd gzip
|
|
}
|