Hi,
I’m running Seafile CE 13.0-latest via Docker behind an external nginx reverse proxy (on a separate VPS, connected via Tailscale). Smaller uploads (4GB) work fine, but uploads >10GB consistently fail with “Internal Server Error”.
What happens:
-
Upload runs completely (all data transferred, confirmed via network monitoring)
-
Multiple chunks succeed with HTTP 200
-
Final chunk/commit fails with HTTP 500 after ~0.06s
-
No errors in seafile.log, seahub.log, or seafhttp.error.log
seafhttp.access.log:
[19/Jan/2026:14:48:45 +0100] "POST /seafhttp/upload-aj/..." 200 17 ... 0.026
[19/Jan/2026:14:48:47 +0100] "POST /seafhttp/upload-aj/..." 500 28 ... 0.065
The instant 500 response suggests rejection, not a timeout.
Tested with:
-
Firefox web upload → HTTP 500
-
Android app 3.0 → same result
seafile.conf:
ini
[fileserver]
port=8082
web_token_expire_time=36000
External nginx (VPS):
nginx
location / {
proxy_pass http://TAILSCALE_IP:8086;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
proxy_request_buffering off;
client_max_body_size 0;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
}
Internal nginx (container) /seafhttp block:
nginx
location /seafhttp {
rewrite ^/seafhttp(.*)$ $1 break;
proxy_pass http://127.0.0.1:8082;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 0;
proxy_connect_timeout 36000s;
proxy_read_timeout 36000s;
proxy_send_timeout 36000s;
send_timeout 36000s;
}
Environment:
-
Seafile CE 13.0-latest (Docker)
-
MariaDB 10.11
-
Redis 7
-
External reverse proxy on separate server
I found a similar issue here: Seafile 13 docker syncing big file using Android app fails - same symptoms, no solution yet.
Any ideas what could cause the silent HTTP 500?