immich-go icon indicating copy to clipboard operation
immich-go copied to clipboard

Error Uploading Google Photos Takeout to Immich on Umbrel Home

Open BubbyWoodz opened this issue 10 months ago • 1 comments

Issue: Error Uploading Google Photos Takeout to Immich on Umbrel Home

Description

I am encountering an error when attempting to upload a Google Photos Takeout archive to Immich using immich-go. The error message is as follows:

ERR upload error file=takeout-20250426T221811Z-001:Takeout/Google Photos/Archive/IMG_5803.PNG error=io: read/write on closed pipe
AssetUpload, POST, http://my ip address:2283/api/assets
Post "http://my ip address:2283/api/assets": write tcp my ip address:52393->my ip address:2283: wsasend: An existing connection was forcibly closed by the remote host.

Environment

  • Hardware: Umbrel Home
  • Immich Configuration: Custom storage location set to a 4TB ext4 external hard drive
  • Immich Go Version: 0.25.3
  • Immich Go Command: immich-go upload from-google-photos --server=http://my ip address:2283 --api-key=(My API Key) F:\GooglePhotosBackup\takeout-20250426T221811Z-*.zip
  • Google Takeout Configuration: 14, 50GB ZIPs

Details

  • The usual link is umbrel.local (which I assume uses IPV6) but, I have tried it using my IP address which is IPV4.
  • I have successfully backed up photos from my Pixel 8 Pro to Immich with the custom storage location on the 4TB ext4 external hard drive. Which leads me to believe this is not the issue.
  • I followed all the steps outlined in the Google Photos Best Practices from the immich-go repository, but the error persists.

Request

Could you please help me troubleshoot this issue? What steps can I take to resolve the "io: read/write on closed pipe" and connection forcibly closed errors? Any guidance would be greatly appreciated!

BubbyWoodz avatar Apr 27 '25 22:04 BubbyWoodz

The log indicates that the server has closed the connection. From the immich-go perspective, there is no way to diagnose the problem further. You should check the immich server logs and possibly the Umbrel logs for more information.

From what I can see in your report, you launched immich-go correctly.

That said, here are some comments:

Processing all takeouts together addresses the "missing JSON" issue but does not affect the upload process itself. Naturally, immich-go will require more memory to handle the large number of files.

A takeout of 14GB should not be a significant problem for either immich-go or immich. I have received reports from users who have successfully imported larger takeouts on a Raspberry Pi 4.

Some users have reported that certain NAS devices may terminate the immich server during uploads due to high CPU consumption, which can cause this type of error. I recommend monitoring your system's resources, such as memory and CPU load. The immich process might need additional memory to run smoothly.

I am not sure where immich-go is running. If it is running directly on the NAS, it may compete with immich for memory. In this case, consider running immich-go on another machine on your network.

It appears that stopping all immich services can be challenging. I can explore the possibility of implementing upload throttling. This would give the server more time to process each file before handling a new one.

simulot avatar Apr 28 '25 12:04 simulot