From 39deb471d976d863d2ec803f908025a2366f1486 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 6 Dec 2025 19:06:33 +0900 Subject: build(server): add Dockerfiles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add build pipeline with esbuild for production bundling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- nginx.conf | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 nginx.conf (limited to 'nginx.conf') diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..cf93da0 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,34 @@ +server { + listen 80; + server_name localhost; + root /usr/share/nginx/html; + index index.html; + + # Gzip compression + gzip on; + gzip_vary on; + gzip_min_length 1024; + gzip_types text/plain text/css text/javascript application/javascript application/json; + + # API requests proxy to backend + location /api { + proxy_pass http://server:3000; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + # Static assets with cache headers + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ { + expires 1y; + add_header Cache-Control "public, immutable"; + try_files $uri =404; + } + + # SPA fallback - all routes go to index.html + location / { + try_files $uri $uri/ /index.html; + } +} -- cgit v1.2.3-70-g09d2