andreknie.de { root * /opt/andreknie/site encode zstd gzip header { Strict-Transport-Security "max-age=31536000" X-Content-Type-Options "nosniff" X-Frame-Options "DENY" Referrer-Policy "strict-origin-when-cross-origin" Permissions-Policy "camera=(), geolocation=(), microphone=()" } handle /api/* { reverse_proxy localhost:3003 } @assets path /assets/* handle @assets { header Cache-Control "public, max-age=31536000, immutable" file_server } handle { header Cache-Control "no-cache, no-store, must-revalidate" try_files {path} /index.html file_server } }