21 lines
611 B
Caddyfile
21 lines
611 B
Caddyfile
# Static game files
|
|
# HTTPS is handled by Nginx Proxy Manager, which forwards to this container's port 80
|
|
|
|
:80 {
|
|
encode zstd gzip
|
|
|
|
root * /srv
|
|
|
|
# Client-side routes all load the app
|
|
try_files {path} /index.html
|
|
file_server
|
|
|
|
# Cache hashed Vite bundles and fonts
|
|
@hashed path_regexp hashed ^/assets/[^/]+-[A-Za-z0-9_-]{8}\.(js|css|woff2?)$
|
|
header @hashed Cache-Control "public, max-age=31536000, immutable"
|
|
|
|
# Always revalidate app shell and service worker
|
|
@shell path / /index.html /sw.js /registerSW.js /manifest.webmanifest
|
|
header @shell Cache-Control "no-cache"
|
|
}
|