# Rippy UI: statische Dateien + API-Proxy. # /api/* wird an den api-Container durchgereicht (Präfix wird entfernt), # alles andere ist das gebaute React-UI. Damit braucht der Browser nur # EINEN Origin — kein hartkodiertes localhost, kein CORS-Gefrickel. server { listen 80; server_name _; root /usr/share/nginx/html; index index.html; location /api/ { proxy_pass http://api:8000/; proxy_http_version 1.1; proxy_set_header Host $host; # SSE (/api/stream/jobs) braucht ungepufferte, lange Verbindungen: proxy_buffering off; proxy_read_timeout 3600s; } location / { try_files $uri /index.html; } }