# Same-origin API: the app calls /api/v1/... — proxied to the FastAPI container (SSE streaming unbuffered). server { listen 80; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://app:8000; proxy_set_header Host $host; proxy_http_version 1.1; proxy_buffering off; proxy_read_timeout 120s; client_max_body_size 4m; # voice input: up to 60 s of 16 kHz WAV (~1.9 MB) } }