MINEFLAPPY-GAME/nginx.conf

58 lines
1.6 KiB
Nginx Configuration File
Raw Permalink Normal View History

server {
listen 80;
listen [::]:80;
# Coolify's default app port - serve the game there too so the proxy
# can route to 80 or 3000 and the site works either way
listen 3000;
listen [::]:3000;
server_name _;
root /usr/share/nginx/html;
index index.html;
server_tokens off;
charset utf-8;
# The game is one file - never cache it, so a redeploy shows up at once
location = /index.html {
add_header Cache-Control "no-cache, no-store, must-revalidate" always;
try_files $uri =404;
}
# the service worker must always be revalidated or updates never land
location = /sw.js {
add_header Cache-Control "no-cache, no-store, must-revalidate" always;
add_header Service-Worker-Allowed "/" always;
try_files $uri =404;
}
# the web app manifest needs its own content type
location = /manifest.webmanifest {
default_type application/manifest+json;
add_header Cache-Control "public, max-age=604800" always;
try_files $uri =404;
}
# icons can be cached hard - they only change with a version bump
location ~* \.png$ {
add_header Cache-Control "public, max-age=604800" always;
try_files $uri =404;
}
location = /healthz {
access_log off;
default_type text/plain;
return 200 "ok\n";
}
location / {
try_files $uri $uri/ =404;
}
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_comp_level 5;
gzip_types text/plain text/css application/javascript application/json image/svg+xml;
}