Files
webgpu-portfolio/nginx.default.conf
djoser 9ea85db5ce Migrate Vite SPA to Hugo (hugo-coder, dark) with WebGPU background
- Hugo static site at root: config, content (home/about/resume/blog + 5 projects),
  data/resume.yaml, custom layouts (gpu background, resume renderer, projects list),
  dark theme with canvas behind content
- gpu-bg/: extracted WebGPU/WebGL2 spiral engine as a Vite sub-package; slim bootstrap
  drops router/overlay/text renderer; fixed uniforms (scene0/dim0); self-contained engine.js
- archive/: retired Vite SPA preserved (router, overlay, data, engine/text orphaned)
- 3-stage Dockerfile (node -> hugo extended/dart-sass -> nginx), static nginx config
- DEPLOYMENT.md handover + README rewrite; pre-hugo rollback tag
2026-08-21 03:39:42 +02:00

30 lines
1.1 KiB
Plaintext

server {
listen 8080 default_server;
server_name _;
root /usr/share/nginx/html;
index index.html;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "DENY" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
gzip on;
gzip_types text/css application/javascript text/javascript application/wasm image/svg+xml;
gzip_min_length 512;
# fingerprint-hashed Hugo assets (css/js) and the engine bundle: immutable
location /css/ { expires 1y; add_header Cache-Control "public, immutable"; }
location /js/ { expires 1y; add_header Cache-Control "public, immutable"; }
location /gpu/ { expires 1y; add_header Cache-Control "public, immutable"; }
# static fonts/favicons
location /fonts/ { expires 1y; add_header Cache-Control "public, immutable"; }
# everything else: plain static — real files, 404 is legitimate (no SPA fallback)
location / {
try_files $uri $uri/ =404;
expires -1;
add_header Cache-Control "no-cache";
}
}