[Feature]: Upload large files in chunks #246

Closed
opened 2026-02-04 19:01:16 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @Eidenz on GitHub (Sep 3, 2022).

Feature detail

Currently, uploading is done in a very simple way: upload the whole file directly to the server. However, some users may have limits on their reverse proxy preventing uploading such files.

Uploading in chunks (like LibrePhotos does for exemple) would allow bypassing this problem.

With immich not being able to scan local folders, I think this feature might be needed.

Platform

Server

Originally created by @Eidenz on GitHub (Sep 3, 2022). ### Feature detail Currently, uploading is done in a very simple way: upload the whole file directly to the server. However, some users may have limits on their reverse proxy preventing uploading such files. Uploading in chunks (like LibrePhotos does for exemple) would allow bypassing this problem. With immich not being able to scan local folders, I think this feature might be needed. ### Platform Server
OVERLORD added the nice to have label 2026-02-04 19:01:16 +03:00
Author
Owner

@bo0tzz commented on GitHub (Sep 3, 2022):

It probably can't hurt to add the chunking, but I think issues like this should generally be solved on the proxy side. As for watching a folder, we're planning to add an option for that to the cli.

@bo0tzz commented on GitHub (Sep 3, 2022): It probably can't hurt to add the chunking, but I think issues like this should generally be solved on the proxy side. As for watching a folder, we're planning to add an option for that to the cli.
Author
Owner

@zackpollard commented on GitHub (Oct 1, 2022):

I think this has extra benefits besides just the reverse proxy side of things. If we have this, then uploading large files on slow or unstable connections would mean they could be resumed later rather than the entire upload failing. Temporary files could be kept around for a configurable amount of time and if the file continues to be uploaded, negotiation between client and server could be handled so that the client resumes from where it was before.

@zackpollard commented on GitHub (Oct 1, 2022): I think this has extra benefits besides just the reverse proxy side of things. If we have this, then uploading large files on slow or unstable connections would mean they could be resumed later rather than the entire upload failing. Temporary files could be kept around for a configurable amount of time and if the file continues to be uploaded, negotiation between client and server could be handled so that the client resumes from where it was before.
Author
Owner

@fyfrey commented on GitHub (Oct 5, 2022):

For reliable upload we could implement the tus protocol https://tus.io/

@fyfrey commented on GitHub (Oct 5, 2022): For reliable upload we could implement the tus protocol https://tus.io/
Author
Owner

@JVT038 commented on GitHub (Dec 3, 2022):

Additionally, chunked uploading would solve an issue for Cloudflare users.
Cloudflare only allows a max upload size of 100MB. Using chunked uploading, large files can still be uploaded and solve the Cloudflare issue.
Currently, when uploading a large file, it shows this error in the logcat:
flutter : ERROR backupAsset: SocketException: Broken pipe (OS Error: Broken pipe, errno = 32), address = immich.mydomain.com, port = 49742 and the file does not get uploaded.

@JVT038 commented on GitHub (Dec 3, 2022): Additionally, chunked uploading would solve an issue for Cloudflare users. Cloudflare only allows a max upload size of 100MB. Using chunked uploading, large files can still be uploaded and solve the Cloudflare issue. Currently, when uploading a large file, it shows this error in the logcat: `flutter : ERROR backupAsset: SocketException: Broken pipe (OS Error: Broken pipe, errno = 32), address = immich.mydomain.com, port = 49742` and the file does not get uploaded.
Author
Owner

@IrwenXYZ commented on GitHub (Dec 25, 2022):

would like to see this feature too. cloudflare is blocking many of my uploads right now

@IrwenXYZ commented on GitHub (Dec 25, 2022): would like to see this feature too. cloudflare is blocking many of my uploads right now
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#246