aboutsummaryrefslogtreecommitdiffhomepage
path: root/nginx.conf
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-12-06 19:06:33 +0900
committernsfisis <nsfisis@gmail.com>2025-12-06 19:24:07 +0900
commit39deb471d976d863d2ec803f908025a2366f1486 (patch)
tree5aee9cc44b21d92a0d4a7c9f33fe487acc732d92 /nginx.conf
parentc65609278df8a95ad82acc852e224607069859b4 (diff)
downloadkioku-39deb471d976d863d2ec803f908025a2366f1486.tar.gz
kioku-39deb471d976d863d2ec803f908025a2366f1486.tar.zst
kioku-39deb471d976d863d2ec803f908025a2366f1486.zip
build(server): add Dockerfiles
Add build pipeline with esbuild for production bundling. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'nginx.conf')
-rw-r--r--nginx.conf34
1 files changed, 34 insertions, 0 deletions
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;
+ }
+}