# 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; # Der nginx-Default ist 1 MB. Eine echte KEYDB.cfg ist deutlich groesser, # der Upload ueber POST /api/system/keydb wuerde also schon hier mit # 413 abgewiesen — die API bekaeme die Anfrage nie zu sehen und das UI # haette keinen detail-Text, den es anzeigen koennte. 64m entspricht dem # Limit MAX_KEYDB_BYTES in makemkv_daten.py. client_max_body_size 64m; } location / { try_files $uri /index.html; } }