2026-06-25 17:27:08 -04:00
|
|
|
# Open SWE dashboard frontend (TanStack Start SPA) + scoped API proxy.
|
2026-06-29 11:12:44 -04:00
|
|
|
# RETIRED on-prem VM variant — kept for on-prem-contrast reference only. The LIVE
|
|
|
|
|
# AWS nginx site is the AMI template deploy/ami/templates/open-swe.nginx.conf
|
|
|
|
|
# (rendered from an @@SERVER_NAME@@ token at first boot). See DEPLOYMENT.md.
|
|
|
|
|
#
|
2026-06-25 17:27:08 -04:00
|
|
|
# nginx is the security boundary: ONLY /dashboard/api/* reaches the backend;
|
|
|
|
|
# the unauthenticated LangGraph agent API (/threads,/runs,/assistants,/store) is NOT proxied.
|
|
|
|
|
server {
|
|
|
|
|
listen 80 default_server;
|
|
|
|
|
listen [::]:80 default_server;
|
2026-06-29 11:12:44 -04:00
|
|
|
server_name openswe.seahaven.com;
|
2026-06-25 17:27:08 -04:00
|
|
|
|
|
|
|
|
root /var/www/openswe;
|
|
|
|
|
index _shell.html;
|
|
|
|
|
|
|
|
|
|
# ALB health check
|
|
|
|
|
location = /healthz { default_type text/plain; return 200 "ok\n"; }
|
|
|
|
|
|
|
|
|
|
# Dashboard API + OAuth callback -> backend webapp on :2024 (the ONLY proxied path)
|
|
|
|
|
location /dashboard/api/ {
|
|
|
|
|
proxy_pass http://127.0.0.1:2024;
|
|
|
|
|
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 https;
|
|
|
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
|
|
|
proxy_set_header Connection "upgrade";
|
|
|
|
|
proxy_read_timeout 300s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Static assets + SPA shell fallback (client-side routing)
|
|
|
|
|
location / {
|
|
|
|
|
try_files $uri $uri/ /_shell.html;
|
|
|
|
|
}
|
|
|
|
|
}
|