{$DOMAIN} { encode zstd gzip handle /api/* { # outer guard; the API itself answers 413 for a report over MAX_UPLOAD_BYTES (25 MiB) request_body { max_size 30MB } reverse_proxy api:8000 } # Flutter web build (app/build/web), SPA fallback to index.html handle { root * /srv/app try_files {path} /index.html file_server } }