events {
}
http {
    include mime.types;
    sendfile on;
    server {
        error_page 404 /index.html;
        root /usr/share/nginx/html;
        location /assets {
            expires 1y;
            log_not_found off;
            access_log off;
        }
        location = /index.html {
            add_header Cache-Control 'no-store';
        }
        location = / {
            add_header Cache-Control 'no-store';
        }
        location = /env.js {
            add_header Cache-Control 'no-store';
        }
        location / {
            try_files $uri $uri/ /index.html;
        }
        location ~* \.(?:ico|css|gif|jpe?g|png)$ {
            expires 1y;
            add_header Pragma public;
            add_header Cache-Control "public";
        }
        # --- Brotli
        brotli on;
        brotli_comp_level 6;
        brotli_static on;
        brotli_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;
        # --- GZIP
        gzip on;
        gzip_disable "msie6";
        gzip_vary on;
        gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_http_version 1.1;
        gzip_types application/javascript
            application/rss+xml
            application/vnd.ms-fontobject
            application/x-font
            application/x-font-opentype
            application/x-font-otf
            application/x-font-truetype
            application/x-font-ttf
            application/x-javascript
            application/xhtml+xml
            application/xml
            font/opentype
            font/otf
            font/ttf
            image/svg+xml
            image/x-icon
            text/css
            text/javascript
            text/plain
            text/xml;
    }
}