- docker-compose.prod.yml overlay: Caddy with automatic HTTPS on one origin (web at /, API at /api incl. websocket), internal-only Postgres/ Redis/API/web, secure cookies, private-network servers blocked, nightly pg_dump backups kept 14 days - deploy/export-db.sh and import-db.sh to carry a database to the server (same TOKEN_ENCRYPTION_KEY required for stored connections) - Base compose no longer requires apps/api/.env - README: deployment, Spotify via scrobblers, SMTP settings Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MzFywujuH9TiuXbr9vjoX8
25 lines
509 B
Caddyfile
25 lines
509 B
Caddyfile
# One public origin for everything. Caddy fetches and renews the HTTPS certificate itself.
|
|
# https://musicshare.binarygnome.com/ -> web app
|
|
# https://musicshare.binarygnome.com/api/... -> API (prefix stripped; includes the /api/ws websocket)
|
|
{$DOMAIN} {
|
|
encode zstd gzip
|
|
|
|
handle_path /api/* {
|
|
reverse_proxy api:4000
|
|
}
|
|
|
|
handle {
|
|
reverse_proxy web:3737
|
|
}
|
|
|
|
header {
|
|
Strict-Transport-Security "max-age=31536000; includeSubDomains"
|
|
-Server
|
|
}
|
|
|
|
log {
|
|
output stdout
|
|
format console
|
|
}
|
|
}
|