Large file doesn't download from Immich
I uploaded a large video file (3.2 gb, 14 minutes), and the upload from my phone went fine. I could also view the video on Immich (web and android) just fine. However, when I tried making a share link and tried downloading the video from the share link, it would just stay at 0%. My immich is served behind a traefik reverse proxy, DNS via Cloudflare (unproxied though). I already did the steps to configure traefik for Immich as defined here: https://immich.app/docs/administration/reverse-proxy/#traefik-proxy-example-config), so is there something else going on?
16 Replies
:wave: Hey @ROODAY,
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.I didn't try 5 but I'm not sure that's relevant, as the use case here is I want to be able to share sometimes large videos with friends, they should be able to download it just like on Google Photos
Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
This sounds like it could be a reverse proxy issue. Here's a link to the relevant documentation page: https://immich.app/docs/administration/reverse-proxy
I'm not sure that's it, as I have followed the steps there for traefik and I still have this issue
#5 is basically only part of the checklist you actually do need to do
99% of the time it will work fine and the issue is with your proxy
Our reverse proxy docs are not exhaustive - they cover the bare minimum immich specific stuff. You may need to do additional configuration or tuning
Makes sense, I'll try again on local IP and see if it has the same issue
I had similar issues with NPM and NPM Plus. Then I switched to Caddy and have 0 issues with Immich and other stacks.
If you used clouflare, there are limit to upload
Cloudflare has a 100MB limit
You need to disable proxies option
Make sure to give it time to propagate, can take a while for it to fully be disabled
Sorry i talked for upload but maybe it's same problem for download
Yeah I don't have any issues uploading large files, only downloading large files. I do use cloudflare but unproxied, so only for DNS. I guess maybe there are some different Traefik options for upload vs download? Haven't tried over IP yet, just need to create a large file again first
@Zeus Just tried again on both public domain + local IP, noticed this behavior:
- On both, the download for a large file (4gb video), hangs at 0% for a long time. Actually even for a small picture, it will show the toast at the bottom left with 0% for a few seconds, even if the image downloads instantly. Not sure if the data powering that toast/modal is inaccurate/not hooked up?
- While waiting for the public domain (behind traefik) download to do anything, I opened the local IP and tried downloading. This would also hang at 0% for a long while (maybe like 3-4 minutes?). Then suddenly I would see the download appear in firefox downloads and it would complete pretty quickly (for both the proxy and local ip/direct connection). So it seems the proxy isn't the issue here, as it worked both on proxy and local IP, just took a really long time for both (about the same time before the download started on either path).
- I tried checking
docker logs -f immich_server
but I don't see anything about the downloads, just websocket connections
Based on this, I'm starting to suspect the issue is that some job is running to prepare the download (ffmpeg?) and only after that's done it begins downloading? Is there any way to verify if that is the case? I can't find any logs.
Also, if that is the case, why is there anything being done to the video before download? I have my immich server accessible via samba and I can see on disk it's an mp4, so shouldn't it just download directly without needing to do anything? Or is something else happening here?
Just tried downloading again via local IP, even after the download started in firefox, the toast in Immich showed 0%, so there's definitely an issue there. At least this time it took less time before the download started, so perhaps something was cached?
*also just did one more test with the public domain/traefik, and yep that worked too, just took a long while for the download to start (one it shows up in the firefox downloads it goes really quick) and the progress bar never moved from 0%There shouldn’t be any job running for a single file but I think the file gets loaded into the browser memory before the download , that’s the cause of the delay
The 0% shouldn’t be the case, maybe a rendering or some issue in your browser. I haven’t seen that reported
Hmm I can try in a couple other browsers to see, I've just been using Firefox. As to loading into browser memory, I guess this is related to other issues I've seen about Immich not supporting streaming/chunking of large files? Is that something currently being worked on? Or is there a design that has alignment? I wouldn't mind helping out on implementation there
Not really being worked on currently, and not related to streaming/chunking. this is a separate issue it could still be a single download but direct to browser instead of caching it in memory first
This specific issue might be worked on able. #contributing I would ask there
As for the toast progress bar, seems to have the same issue on Edge browser, perhaps there was a regression in the web client?
@ROODAY I was running into the 0% progress bar issue too. I just noted there is a bug that has been reported and looks like it's going to be fixed.
@ROODAY your post prompted me to test out my own setup too: https://discord.com/channels/979116623879368755/1358867553593721213
@ROODAY I'm a moron, I just saw that the progress bar fix is the result of your work. Thanks!