deadhead-space-freight-tycoon/deploy/Caddyfile

26 lines
822 B
Caddyfile

# One site for the game (decision 0.5.20): the API under /api, the app for
# everything else. SITE_ADDRESS is the public domain (HTTPS via Let's Encrypt),
# or ":80" for plain HTTP when testing.
{$SITE_ADDRESS} {
encode zstd gzip
handle /api/* {
reverse_proxy server:3000
}
handle {
root * /srv
# Client-side routes (/fleet, /contracts…) all load the app.
try_files {path} /index.html
file_server
}
# Vite's hashed bundles and fonts never change under the same name.
@hashed path_regexp hashed ^/assets/[^/]+-[A-Za-z0-9_-]{8}\.(js|css|woff2?)$
header @hashed Cache-Control "public, max-age=31536000, immutable"
# The shell and service worker must always be checked for a new version.
@shell path / /index.html /sw.js /registerSW.js /manifest.webmanifest
header @shell Cache-Control "no-cache"
}