- Frontend reads window.NS_SERVER_URL from config.js (injected at container start via docker-entrypoint.sh) and pre-fills the setup screen - Removed triggerNaviScan from frontend and backend (Navidrome auto-scans on file change) - Removed NAVIDROME_USER/PASS from backend and compose Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37 lines
1.0 KiB
Nginx Configuration File
37 lines
1.0 KiB
Nginx Configuration File
server {
|
||
listen 80;
|
||
server_name _;
|
||
root /usr/share/nginx/html;
|
||
index index.html;
|
||
|
||
gzip on;
|
||
gzip_types text/css application/javascript application/json image/svg+xml;
|
||
gzip_min_length 1024;
|
||
|
||
# index.html – never cache so SW updates are picked up immediately
|
||
location = /index.html {
|
||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||
}
|
||
|
||
# Static assets – long-term cache (cache busted by SW version)
|
||
location ~* \.(css|js)$ {
|
||
add_header Cache-Control "public, max-age=31536000, immutable";
|
||
}
|
||
|
||
# Service worker – no cache so browser always gets the latest version
|
||
location = /sw.js {
|
||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||
add_header Service-Worker-Allowed "/";
|
||
}
|
||
|
||
# Runtime config – never cache so NAVIDROME_URL changes are picked up
|
||
location = /config.js {
|
||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||
}
|
||
|
||
# SPA fallback
|
||
location / {
|
||
try_files $uri $uri/ /index.html;
|
||
}
|
||
}
|