I recently installed Nextcloud on my home server running k3s. As soon as the ios app started to try and sync photos and videos, the ios app would crash. After a bit of digging, I checked the ingress-nginx logs (I’m using kubernetes ingress-nginx) I could see this error as soon as the sync was started:
10.0.0.7 - fherbert [11/Dec/2021:18:53:35 +0000] "PUT /remote.php/dav/files/fherbert/Photos/2020/02/20-02-16%2010-16-55%207082.jpg HTTP/2.0" 413 176 "-" "Mozilla/5.0 (iOS) Nextcloud-iOS/4.1.0" 205 0.000 [-]  - - - - 6e8208e2ec7fd5fbf30e66ab874d4692 2021/12/11 18:53:35 [error] 1260#1260: *1316538 client intended to send too large body: 4723855 bytes, client: 10.0.0.7, server: cloud.herbert.org.nz, request: "PUT /remote.php/dav/files/fherbert/Photos/2020/02/20-02-16%2010-12-11%207081.jpg HTTP/2.0", host: "cloud.herbert.org.nz"
I’d seen this 413 error before from nginx, to fix this I needed to allow a larger custom max body size by adding the following annotation to my nextcloud ingress resource:
kubectl annotate ingress nextcloud nginx.ingress.kubernetes.io/proxy-body-size=256m