Large Files failing to upload (nginx?)
I have no clue where this problem stems from whatsoever. my best guess is that something in my nginx is broken, but I genuinely have no clue. I'm having problems specifically with large .mp4's failing to upload for no reason. I'm running a dockerized nginx reverse proxy manager, running by itself on a whole separate machine, other than that, should be nothing stopping it, my router is exposing nginx on 80, and my DNS is Cloudflare (proxy off), it only seems to break for big files, >9Gb.
it breaks on both web and using immich-go, sometimes it works on one and not the other, all very weird and random, haven't noticed any differences whatsoever. (it usually works when uploading locally)
Files:
docker-composeimmich = docker compose for immich
docker-composegngx = docker-compose for nginx
nginx.txt = .conf file for my nginx setup for pointing to immich
photo of verbose logs at the time of failure attached
22 Replies
:wave: Hey @supermanisdum,
Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:.
References
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA
Checklist
I have...
1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time).
2. :ballot_box_with_check: read applicable release notes.
3. :ballot_box_with_check: reviewed the FAQs for known issues.
4. :ballot_box_with_check: reviewed Github for known issues.
5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy).
6. :ballot_box_with_check: uploaded the relevant information (see below).
7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable
(an item can be marked as "complete" by reacting with the appropriate number)
Information
In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:
- Your docker-compose.yml and .env files.
- Logs from all the containers and their status (see above).
- All the troubleshooting steps you've tried so far.
- Any recent changes you've made to Immich or your system.
- Details about your system (both software/OS and hardware).
- Details about your storage (filesystems, type of disks, output of commands like fdisk -l
and df -h
).
- The version of the Immich server, mobile app, and other relevant pieces.
- Any other information that you think might be relevant.
Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)
If this ticket can be closed you can use the /close
command, and re-open it later if needed.my immich .env
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
ermmm, testing rn and the local one failed while the other one didn't
to be fair the local's file is much bigger (24gb vs 15gb), but i set the timeout to be
--client-timeout=5h
in immich-go so i have no idea why it would timeout after only 32 minutes. Is there a default upload timeout on the immich server side when uploading locally?
local vs routed through the nginx proxy

my immich-go command for reference, using
immich-go v0.23.0-RC3
:
also for the record i literally just uploaded a 20gb file locally an hour ago

now the one routed through the proxy just failed, 502 error supposedly

btw, when I say proxy, this is all technically still on the local network, just edited my hosts file to make my domain point to the local ip of my nginx reverse proxy, so a 502 on my local network seems really weird considering nginx is still up and everything is still accessible through it. Did it just hiccup for a few milliseconds and break the upload?
nothing relevant at all in nginx logs
There’s a lot going on here but have you tested connecting to http://immichip:2283 ? no proxy, no DNS
yup, that's what i meant by local lol
if u look at the top of the first screenshot here, you'll see my local ip with the port
lol yup they both failed, through proxy and local (direct)

only thing immich server logs are showing

cant belive I didn't look at web console

Is your browser being stupid? 👀 which browser is it
Tried both Firefox and chrome 😭
Sorry I totally missed this @supermanisdum but you didn't try direct IP to the immich server, is that correct?
If so, did you set a max body size at all?
Something like
client_max_body_size 25000M;
in nginxYes 😭
Yes I tried direct to the server
Sorry if my terminology is off, but local = direct to the server
Proxy = still from inside my home network but routed through my nginx server through my hosts file
^as mentioned
Also I included my nginx config in the first post, yes, client body is set correctly as far as I can tell
Npm config:
I'm having a somewhat similar issue, but for me the issues seem to start already with videos of around 400MB (just installed, backed up 3k photos and 100 videos, but maybe 10 or so videos won't upload successfully from the android app it seems, and the logs also keep showing request error while uploading file)
Cloudflare has a 100MB limit, assuming you're using it
I'm not, I'm running a local traefik in front of the immich server though
You should read this and get some ideas perhaps: https://community.traefik.io/t/increase-maximum-body-size-without-buffering/15928/4
If not, make your own topic 😛
thanks, will take a look!
@Mraedis thanks! it indeed fixed my issue (I do have another one now, seemingly it always fails on the first transcoding but seems to work fine after a retry, but that's certainly a different topic :))