# Generated by cursor/env-manager. Do not hand-edit on the VPS. # Copy into aicoder-nginx (baked image) or mount as the single edge config. # Policy: one process on :80/:443. Unknown Host headers are rejected, never Byte. events {} http { include mime.types; default_type application/octet-stream; sendfile on; client_max_body_size 60m; upstream doc_vault_app { server host.docker.internal:8088; } upstream ai_coder_app { server frontend:3000; } upstream auto_reader_app { server host.docker.internal:3000; } upstream auto_reader_api { server host.docker.internal:8000; } upstream short_video_maker_app { server host.docker.internal:3123; } server { listen 80 default_server; listen [::]:80 default_server; server_name _; default_type text/plain; return 404 'unknown host. use a registered domain from env-manager.\n'; } # DocVault server { listen 80; listen [::]:80; server_name docvault.doxstation.com; client_max_body_size 60m; location /.well-known/acme-challenge/ { root /var/www/html; } location / { proxy_pass http://doc_vault_app; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 120s; } } # Byte / AI Coding Tutor server { listen 80; listen [::]:80; server_name play.doxstation.com; client_max_body_size 60m; location /.well-known/acme-challenge/ { root /var/www/html; } location / { proxy_pass http://ai_coder_app; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 120s; } } # AI Teacher server { listen 80; listen [::]:80; server_name doxstation.com www.doxstation.com; client_max_body_size 60m; location /.well-known/acme-challenge/ { root /var/www/html; } location /api/ { proxy_pass http://auto_reader_api; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 120s; } location / { proxy_pass http://auto_reader_app; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 120s; } } # Short Video Maker server { listen 80; listen [::]:80; server_name shorts.doxstation.com; client_max_body_size 60m; location /.well-known/acme-challenge/ { root /var/www/html; } location / { proxy_pass http://short_video_maker_app; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 120s; } } }