src/infra/nginx.conf
1,506 bytes · 61 lines · capsule://quake0day/[email protected]
raw on github
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream cyberverse_server {
server cyberverse-server:8080;
}
upstream livekit_server {
server livekit:7880;
}
server {
listen 80;
server_name _;
# Frontend static files
root /usr/share/nginx/html;
index index.html;
# SPA fallback
location / {
try_files $uri $uri/ /index.html;
}
# API proxy
location /api/ {
proxy_pass http://cyberverse_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# WebSocket proxy
location /ws/ {
proxy_pass http://cyberverse_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_read_timeout 3600s;
}
# LiveKit WebSocket proxy (for WebRTC signaling)
location /livekit/ {
proxy_pass http://livekit_server/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
}