traefik: nextcloud-transport (3600s responseHeaderTimeout) — fix large-upload 504

Real root cause of Nextcloud "Unknown error during upload" on large files:
Traefik's default-transport responseHeaderTimeout=30s killed the chunk-assembly
MOVE (which takes >30s for multi-GB files) -> 504. Added a dedicated
nextcloud-transport (3600s) and pointed nextcloud-service at it, on both nodes.
Proven: 8GB upload MOVE now 201 @ 31.7s (was 504 @ 30.0s).

Rewrote the runbook: corrected cause (was mis-attributed to Cloudflare/DoH),
plus the hard-won gotcha on editing single-file-bind-mounted dynamic_conf
(in-place cp only; never mv; validate before write).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tommy
2026-07-05 19:07:04 -05:00
parent c6861c71f0
commit 5c66bbacdd
3 changed files with 46 additions and 53 deletions
+6 -1
View File
@@ -8,6 +8,11 @@ http:
idleConnTimeout: 90s
insecure-transport:
insecureSkipVerify: true
nextcloud-transport:
forwardingTimeouts:
dialTimeout: 30s
responseHeaderTimeout: 3600s
idleConnTimeout: 90s
middlewares:
@@ -463,7 +468,7 @@ http:
nextcloud-service:
loadBalancer:
servers: [{ url: "http://192.168.99.31:11000" }]
serversTransport: default-transport
serversTransport: nextcloud-transport
homeassistant-service:
loadBalancer:
+6 -1
View File
@@ -8,6 +8,11 @@ http:
idleConnTimeout: 90s
insecure-transport:
insecureSkipVerify: true
nextcloud-transport:
forwardingTimeouts:
dialTimeout: 30s
responseHeaderTimeout: 3600s
idleConnTimeout: 90s
middlewares:
@@ -463,7 +468,7 @@ http:
nextcloud-service:
loadBalancer:
servers: [{ url: "http://192.168.99.31:11000" }]
serversTransport: default-transport
serversTransport: nextcloud-transport
homeassistant-service:
loadBalancer: