server {
    listen 80;
    listen [::]:80;
    server_name playground.schwenk.online;

    root /usr/share/nginx/html;
    index index.html;

    include /etc/nginx/conf.d/security-headers.conf;

    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css text/xml application/json application/javascript application/manifest+json application/xml+rss application/atom+xml image/svg+xml;

    location ~* \.webmanifest$ {
        default_type application/manifest+json;
        add_header Cache-Control "public, max-age=86400";
    }

    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp)$ {
        expires 1y;
        add_header Cache-Control "public, no-transform";
    }

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ /\. {
        deny all;
        return 404;
        access_log off;
        log_not_found off;
    }
}
