My ridiculously robust photo management system (Immich edition)
309 points
2 months ago
| 27 comments
| jaisenmathai.com
| HN
shantara
2 months ago
[-]
I migrated from Apple Photos to Immich a couple of months ago, removing the iCloud subscription, and couldn’t be happier. It was the most hassle free piece of self-hosted software I’ve had so far. Very easy to install and everything just works. Context and OCR search are amazing. Mobile apps could be better, but they are constantly being improved.

My favorite feature is being able to setup a container on my Linux desktop that has a GPU access and can run ML workloads for image processing whenever I turn the computer on, as my NAS (where Immich resides) is a low power machine without a dedicated GPU. They even have ROCM support, so it works even without an Nvidia GPU. Being able to spread such workloads over your local network feels like a magic that has been forgotten in an era of blackbox cloud providers.

reply
solarkraft
2 months ago
[-]
> My favorite feature is being able to setup a container on my Linux desktop that has a GPU access and can run ML workloads for image processing whenever I turn the computer on, as my NAS (where Immich resides) is a low power machine without a dedicated GPU

Okay, sold. This is also my setup and I was being held back by thinking that the experience would be bad due to it. But this will work for me!

reply
ninkendo
2 months ago
[-]
Interesting. How did it work getting your photos off of iCloud? Does Apple give you a good way to get an archive of all of your photos? That is, the original quality photos, without manually downloading them individually? (I currently have 446 GB of photos in iCloud…)
reply
shantara
2 months ago
[-]
Immich iOS app supports backing up photos directly from iCloud in original resolution, with the all EXIF data included. I had 230 GB of photos myself, and I left the phone on the charger overnight with the app running in the foreground and screen locking disabled. In the morning everything was imported.

Some people have instead set Photos app on a Mac to download original photos from the iCloud library and then moved the files directly into the server. I have not personally tried this method though.

reply
chamomeal
2 months ago
[-]
> Immich iOS app supports backing up photos directly from iCloud in original resolution

wait that is just crazy!!! Dang my dad is going to flip out when I tell him about this. He's got like 1.5 TB of photos in iCloud and has been searching for a way to get them off. And we're so close to our family storage limit that he gets mad at me when I text him pictures hahaha

reply
the_cosmos
2 months ago
[-]
There is a community-supported CLI program called immich-go that directly supports reading in iCloud and Google takeout archives, as well as local directories. It works great, and has gobs of import options to set up albums and tags. [ https://github.com/simulot/immich-go ]
reply
moodyScarf
2 months ago
[-]
i havent seen anyone else mention it so i will. privacy.apple.com lets you export your apple data similar to google takeout
reply
dialogbox
2 months ago
[-]
That's the worst service I've ever seen. It asks you the size of each zip file and I said 50G at first. And I couldn't download it because the connection was so unstable. No way to resume it and every 20~30 mins, it failed in the middle. Chrome, firefox, safari were all the same. I tried from a GCE VM as well to see if that's my network problem but didn't help.

I had to request again with 2G and I was able to download files finally. But only one by one. And after download 3~5 files, I had to login again as their login expires so frequently.

I had to do that for days and the download got expired. Oh my god. I had to request it again. And you know what? Their file list wasn't deterministic. I had to download from the beginning. lol

I finally made it and I swear I will never use any cloud service from apple.

reply
kjkjadksj
2 months ago
[-]
Same issue has been going on for me with just about any big download from apple serves. Could be icloud. Could be xcode. Doesn’t matter. It will randomly fail in the transfer and require manual intervention to restart. Been this way for years.
reply
dole
2 months ago
[-]
iCloud Photos Downloader isn’t user friendly or pretty, but I finally managed to rip my entire collection without having to install any apple software.

https://news.ycombinator.com/item?id=46578921

reply
nozzlegear
2 months ago
[-]
How does selecting or uploading photos work on iOS if you don't have any in Apple Photos? Not all apps let you choose to upload from the files app where you can select the provider, e.g. uploading an image to Facebook in Safari always opens the picker for Apple Photos.

Edit: wait I'm dumb, I just checked mobile Facebook and the upload button shows a pop up with choices for "Photo Library", "Take a Photo", or "Files".

reply
Trattue
2 months ago
[-]
Additionally, there‘s a difference between Apple Photos the app and Apple Photos the system component (in lack of a better name, maybe someone knows the correct one). Even if you uninstall Apple Photos the app, iOS still retains its basic functionality, for example when viewing photos in the Camera app. The folders where photos are stored don’t change. You just use a different app to view and sync them.
reply
bjackman
2 months ago
[-]
I have a PiKVM attached to my PC at home, so at some point I'm thinking of setting up a crazy demand-scaling scheme where when my underpowered homelab nodes can power up the PC when they need to run a heavy workload.
reply
Nextgrid
2 months ago
[-]
You can do this easier with Wake on LAN. See https://danielpgross.github.io/friendly_neighbor/howto-sleep... for prior art.
reply
bjackman
2 months ago
[-]
WoL is easier if it works. My experience has been that with consumer hardware it usually doesn't. Debugging it is more hassle than it's worth IMO. I think if you don't have a proper mobo with a BMC then just throwing in a KVM is easier on average.
reply
Nextgrid
2 months ago
[-]
WoL is reliable when waking from sleep/suspend. I have yet to see consumer HW that can do it from poweroff. But if suspend is fine, all you have to do is configure your firmware to turn on after power loss (so you always boot into your OS) and in your OS enable WoL and configure suspend on inactivity as you wish. It should be reliable and failures would default to "on", not off.
reply
shantara
2 months ago
[-]
This sounds like a fun idea to explore!
reply
jms703
2 months ago
[-]
Can you explain how you’re able to run ML workloads on another computer? Setting up Immich this weekend on a mini Pc and would love to throw my GPU in my larger PC at the problem.
reply
shantara
2 months ago
[-]
reply
IncreasePosts
2 months ago
[-]
It's just a feature of immich. Administration > Settings > Machine Learning Setting and set the remote ML address.

Obviously you need to setup the ml client on the other computer

reply
tecleandor
2 months ago
[-]
You run a Docker container on another machine and configure Immich to point to its IP address. I do that when I have to add a lot of photos or reingest all the photos with a different model, so I point to the "gaming" that has a 3060.
reply
gingerlime
2 months ago
[-]
any pointers on how it works with immich on the NAS and your desktop “contributing” processing power?
reply
crtasm
2 months ago
[-]
reply
bayjorix
2 months ago
[-]
I recently set up Immich as a backup to Apple Photos, but the mobile app had trouble with my library (120,000 images and 4,000 videos, about 1.6 TB).

I've stumbled on Immibridge which solved my exact problem perfectly, and uploaded the images overnight

https://github.com/emerysilb/immibridge

reply
Melatonic
2 months ago
[-]
What about doing the opposite ? I have my phone auto upload to Apple photos (iCloud) in full quality - downloading for backup can be a pain
reply
jacomoRodriguez
2 months ago
[-]
Habe you tried nextcloud + memories app? Every metadata is stored in EXIF and the directory structure on disk defines the directory structure in the app (and vice versa). When you want to move your tooling or just do things manual again, grab the disk and your are ready.
reply
redrblackr
2 months ago
[-]
People are really sleeping on nc memories, does all the good things but none of the "I decide how your images are stored and nothing else should touch them" that immich does.

When I checked half a year ago memories (with the nc ecosystem) was still ahead in terms of features (gallery specific), albeit object tagging is rather crap in nc (faces better)

reply
Melatonic
2 months ago
[-]
What do you mean by the first part ? Does immich store the metadata or something in a proprietary format ?
reply
ZeWaren
2 months ago
[-]
I'm very happy with Memories.

I store my pictures on a NAS jail. That directory is mounted read-only on another jail with NC and Memories. I like the guarantee that my gallery app cannot alter my files.

Also, many gallery apps don't allow browsing a directory tree. You have one level of "albums" and that's it. Memories support it. I have pictures 5-6 directories deep, following a system that makes sense to me.

reply
Melatonic
2 months ago
[-]
Where it does store the metadata or database info ?
reply
ZeWaren
2 months ago
[-]
In the NextCloud instance somewhere.
reply
thedonncha
2 months ago
[-]
I used memories for a while but Immich is much better. I use an external library because I export images from Lightroom Classic and that's where I throw them in YYYY/MM directories. I could import them directly into Immich but I had problems with the Lightroom plugin I used. Especially when exporting hundreds of images at once.
reply
kleinishere
2 months ago
[-]
Any chance you’re doing this for film photography? I also use a plugin (Negative Lab Pro) for negative inversion of film scans that keeps me stuck on Lightroom Classic. It would be great to get a pipeline beyond Classic but with the ability to jump back and re-edit. Curious if you have more details on what you do/don’t connect into Immich from Lightroom.
reply
jacomoRodriguez
2 months ago
[-]
what would you say: which features from Immich are better / not available in nc memories?
reply
TacticalCoder
2 months ago
[-]
> Have you tried nextcloud + memories app? Every metadata is stored in EXIF and the directory structure on disk defines the directory structure in the app (and vice versa).

Ouch. One feature I love with Immich is that I can run it as Docker containers (I think it requires four containers) and pass the drive/volume with my photos as read-only, so I'm sure Immich cannot possibly modify my files.

The last thing I want is the latest solution du jour modifying my files.

reply
brador
2 months ago
[-]
Photo printer in the second study anyone can connect to and a 100+ stack of photo paper and some photo album holders. Done.

I lose no sleep.

The funnest part of coming home is what everyone prints when we get back.

reply
deltarholamda
2 months ago
[-]
Agree with this strongly. It's nice to have thousands of photos, but if what you're trying to do is preserve memories, you do that best by interacting with the photos.

Choosing the photos to include, plus doing the scrapbooking bits to decorate the photos, and including all the bits and bobs you might have acquired from whatever even you're memorializing, this locks the memories in far better than a carefully architected storage system that, in the end, is just a giant wad of binary data.

This goes double (or triple) when you have young children.

By all means maintain some kind of digital storage, but make your primary physical.

reply
code_biologist
2 months ago
[-]
Lovely idea. You got a photo printer model you like? I've been meaning to get a photo printer, but I'm scarred by experiences with inkjets back in the day.
reply
pbalau
2 months ago
[-]
If you are ok with 6x4 prints, postcard size, then canon selphy cp1500 might do it.

It doesn't do great with bw photos, but colour pictures are good enough.

reply
hypercube33
2 months ago
[-]
If they are printing 100 or more prints a month even they are probably absolutely fine - inkjets die when not used because ink dries on the jets or other places.
reply
9x39
2 months ago
[-]
I use Google Photos, Apple Photos, and also print to Walmart through the excellent workflow Google Photos has setup. Obviously there has to be a printer in your town.

Make an album, print to Walmart on their pro printer, grab it a little later for a few bucks.

reply
burnt-resistor
2 months ago
[-]
What kind of photo printer technology? Inkjet is expensive and fades. Dye sub and laser are usually better.
reply
internet_points
2 months ago
[-]
how much did that cost?
reply
jwr
2 months ago
[-]
Relying on EXIF is a good thing. But if you limit yourself to ONLY using EXIF, you can't group images, make one image in a group the primary image, assign common metadata to the entire group, etc.

All turned out to be essential in my photo archives, especially as I started scanning old pictures. You get the front and back side of a photo, or you scan a large-format drawing in 16 scans and store them alongside the merged one, etc.

Aperture used to handle it pretty well, but Apple dropped it. I learned my lesson, and now I'll be doing things differently.

reply
jmathai
2 months ago
[-]
I solved the "one photo in multiple albums" EXIF problem by using Keywords. Each album is a Keyword.

But yes, there are some other limitations that would be much harder to solve. But it's a tradeoff I've decided to make - if I can't figure out an EXIF-based solution then I'm not going to invest time using it because it will likely be lost in 5-10 years.

reply
PunchyHamster
2 months ago
[-]
it's OSS software that's hosted locally. It will run fine in 10 years
reply
jmathai
2 months ago
[-]
That's not my philosophy :)
reply
CharlesW
2 months ago
[-]
> Aperture used to handle it pretty well, but Apple dropped it.

If you still miss it, note that Nitro (macOS, iPad, iPhone) is Aperture's spiritual successor, created by its former Sr. Director of Engineering. https://www.gentlemencoders.com/nitro-for-macos/

reply
awesomeMilou
2 months ago
[-]
What are you currently using?
reply
upcoming-sesame
2 months ago
[-]
All I want is to automatically periodically backup my Google Photos to some S3 compatible storage like B2. I want to do that in case Google nukes my account one day for whatever reason.

I have not found any way to do that until today.

In addition, my local network is slow and I don't have much storage I am limited to solutions that are cloud-to-cloud.

If anyone has any idea, please help me out

reply
9x39
2 months ago
[-]
Presumably you take your photos on your phone, so can you sync from there?

You could manually do it with Google Takeout -> <S3 backed service> before letting your phone sync handle it going forward if that’s a big backlog.

For example, I use Apple and Google on my phone to do this, I think you’d just need to find some app/service combo.

reply
Trasmatta
2 months ago
[-]
I went down the same rabbit hole recently, and there are basically no good options except to periodically do a full Google Takeout of your images. There were tools that used to work, but Google broke them.

One of the many reasons I finally moved off Google Photos.

reply
intangible
2 months ago
[-]
Google ripped away the functionality to access your original Google Photos files via any programmatic method vs the manual Google takeout.

This was the biggest reason I also had to move away from Google Photos when all I really wanted was protection from getting my account accidentally G-structed with zero way to contact a human to get my files back.

reply
jmathai
2 months ago
[-]
reply
upcoming-sesame
2 months ago
[-]
I am very much aware of rclone, but don't see how it solve the problem I mentioned
reply
jmathai
2 months ago
[-]
Maybe I’m misunderstanding what you’re looking for. Rclone has a Google Photos backend and an S3 backend. I haven’t used it but assumed you could simply copy from Google Photos into S3.

https://rclone.org/googlephotos/

reply
upcoming-sesame
2 months ago
[-]
"From March 31, 2025 rclone can only download photos it uploaded"

Also, it still requires to use my bandwidth or to have a VPS running and using it's own bandwidth

reply
bombela
2 months ago
[-]
Immich is genuinely good.

I run it on a credit sized intel N100 board with a few spinning disks. There was nothing to do, it all just worked right away.

Everything is fast and smooth. The AI indexing and search just work™ and it is faster than google photo ever was. And there is no censorship on the AI search terms.

I also like that I can configure the filesystem hierarchy I prefer.

reply
Melatonic
2 months ago
[-]
What kind of indexing and searching can you do ? I've found Google sometimes struggles with certain things (surprisingly) like searching for a date range if I don't specify the date in the ideal format. For other stuff like "stars over trees" or similar it can work quite well.
reply
bombela
2 months ago
[-]
Search by date, OCR, AI context, people's face, location, by map, and I probably forget some. And from any result you can then jump to its location in the timeline. Back history navigation works properly to boot. And all of that is very pleasantly fast. I am very sensitive to latency, and Immich is one of the rare software that actually feels fast. Google photo is trash in comparison.
reply
reddalo
2 months ago
[-]
I honestly think that the search feature of Immich is better than Google Photos.

Maaaybe AI-based searches like "cat on a red car" are better on Google (but I wouldn't bet my life on it), but Immich applies the exact filters that I want (Google is too fuzzy).

Also, unlike Google, Immich doesn't censor your searches, so I can look up for naked pictures or photos of gorillas, and actually see the results.

reply
Lord_Zero
2 months ago
[-]
What board
reply
bombela
1 month ago
[-]
It's a no-name mini PC with four HDD bays. It doesn't seem to exist anymore.

It's a weird Chinese board with a silly gen1x1 pcie link to a 4 port sata controller on a daughter board. I bet it was designed for the 2 port version of the controller and two bays. And some lhow they sold a 4 bays version. So I only have half the bandwidth required to drive the 4xHDDs. Sucks for linux raid.

Interestingly this tiny mobo also has two full speed sata ports on it, that are completely inaccessible, I am not even sure a low profile and thin sata cable can even fit in there. Maybe one day I will try to solder in place from the mobo to the daughter board.

reply
dariosalvi78
2 months ago
[-]
I sync my photos with an old Raspberypi 3 with Syncthing, then have my own very basic web photo gallery: https://github.com/dariosalvi78/simple-gallery which supports permissions and thumbnails. If you have a sensible folder structure, for example by year/event you don't need anything else. I am also working on face recognition and geo location, but the hardware limitations are challenge (a fun one to solve tho).
reply
Melatonic
2 months ago
[-]
Manual photo structure like this is highly underrated.
reply
DavidPiper
2 months ago
[-]
Also came to say this - I love what TFA has done, but for me everything is already stored, dated and grouped, so I was thinking I could just add Syncthing on top of that and call it a day.

Doesn't solve fancy things like facial recognition, etc, though of course.

reply
s03nk3
2 months ago
[-]
Storing in EXIF seemed also the go-to solution for me. Until I ran into deduplication and backup management problems due to the changed files.
reply
ListenLinda
2 months ago
[-]
Use sidecar files instead. I believe the professional tools all use them as well.
reply
jmathai
2 months ago
[-]
You mean because the hash of the photo changes?

I've solved that by materializing every photo to a deterministic folder path. So it's not possible to have the same exact photo in my library.

reply
ohyoutravel
2 months ago
[-]
I tried this but didn’t have luck. Intel NUC 13 i7 with 16gb ram, Immich in a docker container. Photos on my NAS. The moment I open chrome or Firefox to Immich and get past the onboarding, it just locks up. Maybe 50,000 photos in the library. Disappointing because I really wanted to like it, and have moved pretty much everything else to self hosted.
reply
closewith
2 months ago
[-]
Our family Immich server has a few hundred thousand photos running in Docker and never gets close to 8GB memory. Maybe submit a bug report if you have the inclination.
reply
mtsolitary
2 months ago
[-]
Check you don’t have a circular import on your NAS. I had similar issues because I had my photos at /nas/photos and my Immich metadata folder configured as a subfolder of that. So it kept reindexing its own metadata.
reply
budding2141
2 months ago
[-]
Very strange. I've got roughly 40k photos and Immich runs just fine on i5-6xxx old minipc with 8 gigs of ram. Migrated to Immich a couple of years ago from Photoprism (which was fine as well, I just prefer the UI of Immich).
reply
dddddaviddddd
2 months ago
[-]
I host immich inside a Linux VM on FreeBSD, with 6 GB of RAM. Fourth generation Intel processor. The initial jobs to parse metadata took a day or two, but now it’s perfectly snappy and useable.
reply
tootie
2 months ago
[-]
Is it persistent? Thumbnail generation can bog down the server after a giant upload. Mine was frozen after I first set it up but eventually caught up and now works very smoothly.
reply
mmastrac
2 months ago
[-]
Do you have WebGL disabled or is WebGL not working?

https://github.com/immich-app/immich/issues/24581

reply
dgxyz
2 months ago
[-]
After going through 25 years of changing software every few years on this front I can’t be bothered. Files on disk. Nothing over the top. Immich is just another thing to maintain. Another problem which will result in a wholesale migration down the line.

If someone wants something I email it to them or upload it to a directory on a web server and send them the link. If I want something on my phone I’ll zap it over with localsend.

Photography is a hobby for me and I have a large family so I have a lot of photos. And a lot of editing to do. Currently moving from Lightroom to Darktable because again Lightroom tries to hammer me with library management and lock me into things.

reply
vr46
2 months ago
[-]
That's cool, but when a friend died last summer, Immich allowed me to find all the digital photos I had of him, even out of focus in the background. I get many requests from friends for old pictures, "do you remember that night when we all did a group photo, etc etc?" and the search facility in Immich allowed me to in a minute what sometimes took years to find, when scouring folders in spare time.
reply
stavros
2 months ago
[-]
For me, there's nothing like being able to search for "brown dog" and get all the photos of my dog back. Not to mention all the other things Immich has that make managing a library pleasant.

I not only urge you to try it, but to buy the "supporter" pack, Immich really deserves it.

reply
dgxyz
2 months ago
[-]
I had a bunch of photos in Apple Photos which did that sort of thing. As a library management tool it's probably the best out there.

But when you search for brown dog it'll bring back different coloured goats, horses and cows too. This is a problem in a large library.

reply
Someone
2 months ago
[-]
A problem, but also way better than the solution “just look at every photo” you had without that image search feature.

I think these manual tools tend to prefer recall (“make sure you return all the photos asked for”) over precision (make sure you only return photos asked for”) because of that.

(Likely with exceptions for search terms such as “gorilla”, where surfacing photos of people with black skin is a big no-no)

reply
Melatonic
2 months ago
[-]
I found Google Photos much better for this comparatively to Apple
reply
butvacuum
2 months ago
[-]
digikam does this as well, supposedly.
reply
internet_points
2 months ago
[-]
Same here, although one thing that's difficult with this is things like finding "that one photo we took 5 years ago which grandma used as a phone background". So now I gotta find the right external hard drive to plug in and fortunately the folders are by date but still it's a drag. So I'm considering looking into immich if it can just function as a server that shows thumbnails on some terabytes of date-sorted photos and videoes, no need for the machine learning stuff. Though I feel like there must be a less "heavy" solution than immich for this.
reply
dgxyz
2 months ago
[-]
We really need an OS with a metadata capture and indexing system that isn't crap. Exif is metadata.

"give me all files with a location in Chicago"

reply
cyberax
2 months ago
[-]
Immich stores images in a configurable folder structure. That you can _change_ at any moment, and Immich will happily rearrange the files accordingly.

Mine is something like "Album_Name/YEAR/MONTH/day-hour-minute-sec.jpg".

reply
jmathai
2 months ago
[-]
Between storage templates and external libraries, Immich covers so many bases.
reply
sriacha
2 months ago
[-]
You can keep your file current structure/workflow and just use immich as a viewer and search engine, read only.
reply
sonar_un
2 months ago
[-]
This is exactly what I do. I have Immich as just a viewer and keep everything in external libraries. This is the major failure of Immich as far as I am concerned. I really don't like "black box" style of photomanagement. I also find that NextCloud has a very good photo viewer as well, which is almost as good as immich.
reply
gf000
2 months ago
[-]
There is no need to replace it, certain changes can be additive. Immich falls into that category - you can still just see/use them as ordinary files. It just makes finding/viewing/sharing/processing them easier on top.
reply
ghgr
2 months ago
[-]
I'm like you, and a big fan of Pigallery2 precisely for its simplicity. But it turns out that Immich does support external libraries, so you can keep your manual file management in your filesystem and still use Immich for efficient indexing, face recognition, quick picture retrieval by year, location, people etc...

I'd recommend you try Immich (there's a docker compose version) and if you don't like it, you can just remove it and move on.

reply
TacticalCoder
2 months ago
[-]
> After going through 25 years of changing software every few years on this front I can’t be bothered. Files on disk. Nothing over the top. Immich is just another thing to maintain. Another problem which will result in a wholesale migration down the line.

I've got the solution to this. I'm like you: files on disk. But I also use Immich: and here's the kicker... I pass the drive/volume with my photos to Immich as read-only (I use containers so it's easy: the drive itself is read-write, but Immich only has read-only access to it).

When I'm pissed off by Immich or something better comes along, I destroy the Immich containers and it's gone.

And I still my files on disk (with checksums as part of the filenames, moreover, seen that family JPG pictures aren't files that happen to change a lot and if they change, they can be renamed).

reply
Trasmatta
2 months ago
[-]
If you want something equivalent to Immich but don't want to deal with self hosting, Ente is a good option. It's E2EE!
reply
internet_points
2 months ago
[-]
but $240 per year
reply
Trasmatta
2 months ago
[-]
If you have that many pictures, it might not be the best choice for you. I'm paying $60 a year, but maybe I have way less than most people.

For me $60 is worth not having the hassle of self hosting, but if you'd have to pay $240 then maybe a self hosted Immich instance is the better option.

reply
dakial1
2 months ago
[-]
Some time ago I configured Photostructure on my Synology (with the amazing help of the author, @mceachen) and the most paindful part was rescuing my 1.5TB of photos from Google Photos. Takeout was very cumbersome to use and download 100+ files of 4gb, so ultimately resorted to paying a higher tier at Google Drive, using takeout Google Drive option and the sync to the NAS. I still don’t have a good method to keep everything in sync as Google Photos does not offer a viable option for a cloud-to-premises sync.
reply
mceachen
2 months ago
[-]
I wrote some tips and tricks that I've found to help coax Google Takeouts into working: https://photostructure.com/faq/takeout/

Also: you should try out the latest build! https://photostructure.com/about/v2026.1/

FWIW all of these projects rely on ExifTool (which people should donate to!) and my open-source node.js wrapper (that adds concurrency, does a ton of extra parsing work, and makes things a bit more ergonomic to live with): https://github.com/photostructure/exiftool-vendored.js

reply
bombela
2 months ago
[-]
For what is worth, google takeout can export in 50GB tgz.

Downloading the takeout files is miserable through, the download link is only valid when being downloaded via human interaction in a web browser.

There is a silly trick. Start the download, pause it. Get the cookies from the page (only need to do that once for the session). Then copy the download link. Now you can curl on your server. When the file is downloaded, you can then cancel the download in your web browser. And do the same for the next file. One at a time.

Warning: google will cancel downloads if you run more than one or two at a time. After 3 download (failed or not) of a file google will delete the whole takeout.

The amount of engineering they must have deployed to purposefully crimple takeout with plausible deniability must be significant.

reply
conqrr
2 months ago
[-]
Immich and Restic have completely covered my needs and don't need to use Google photos anymore.
reply
marius_
2 months ago
[-]
I was running Immich for a while until the iPhone client app on my wife’s phone completely stopped syncing photos. So I ended up vibe coding my own photo management software in .NET using PostgreSql/Redis and React front end (PWA). Has face recognition too (used the same models Immich uses from huggingface). Works perfectly, photo library scanning/face recognition/thumbnail creation/etc performance is WAY better than Immich (uses .NET background jobs and lots of parallelism and hardware acceleration on my Mac mini server). Turns out if you only care for the thing to work on your own gear you can optimize the code for it quite a bit. It took 2 weekends and Claude code. And with tailscale, it’s hosted on my Mac mini at home and accessible from anywhere through https. I have around 40k+ photos+ phone videos, and the server is a base Mac mini previous gen (8GB ram). Oh, and forgot to add, the app supports downloading/moving photos from iCloud through the undocumented CloudKit APIs behind the iCloud.com web app, complete with 2fa.
reply
sylens
2 months ago
[-]
It is amazing how usable Immich is with so little hardware. I run it off a Proxmox VM with a caddy container as a reverse proxy and it just works so well. The hardest part is figuring out how to safely expose it so you can share albums with others, but Immich Public Proxy[0] is great for that.

[0]https://github.com/alangrainger/immich-public-proxy

reply
SilverElfin
2 months ago
[-]
I wish I could just get photos out of iCloud. The iCloud app ok windows doesn’t work period. Authentication issues, taking up CPU but not actually doing anything, and creating empty files that are just shells for what’s in the cloud.

It is so absolutely terrible that I think it is purposeful. But if I could get it all, I could consolidate into something else. Either way, it’s frustrating enough that I’ve stopped buying apple.

reply
mtsolitary
2 months ago
[-]
Check out icloudpd. It’s a bit fiddly but it definitely does work once you have it set up.
reply
digiown
2 months ago
[-]
You can grab a data export from privacy.apple.com
reply
SilverElfin
2 months ago
[-]
But the how do I get the remaining latest files that aren’t in it? Manually from the iCloud website?

Also do they include all the variants in that export like the edits, filters, etc? I get the feeling those may be a proprietary Apple only thing.

reply
OptionOfT
2 months ago
[-]
1 thing to know about with Immich:

It has botched slow motion uploading. It uploads an export at 30fps instead of maintaining 120/240fps.

reply
gingerlime
2 months ago
[-]
do you mean it loses the original fps rate, or just that you can’t easily view it?
reply
OptionOfT
2 months ago
[-]
It loses the original FPS, akin to flattening a PSD to JPG.
reply
gingerlime
2 months ago
[-]
From what I was reading immich should preserve your original media. I saw this bug report[0] but it’s not clear if it’s an app upload bug, iOS bug or maybe depends on the device??

I don’t use immich (yet) but this is the kind of stuff I worry about. I’m planning to use it in read only mode though and sync my photos using PhotoSync rather than rely on the app.

[0] https://github.com/immich-app/immich/issues/17576

reply
bix6
2 months ago
[-]
> I was very optimistic about Synology Photos but it was unfortunately underwhelming.

Anyone have info on this vs Immich? I just got my Syn so been trying their native app which seems fine so far but not sure what I’m missing.

reply
ldh
2 months ago
[-]
Personally I've avoided using any Synology-specific functionality. It's not as transparent and seems kind of brittle. I feel like that's going to pay off because after a couple of years I'm pretty sure I'm going to switch to an open source solution instead, and I won't have to look for alternatives to systems I'm already using.
reply
jmathai
2 months ago
[-]
I found Immich to be significantly higher quality. Nothing prevents you from running Immich in a newer synology which support containers.

Mine is so old that it doesn’t and it’s also under powered - else I’d be running Immich on it.

reply
UltraSane
2 months ago
[-]
I've created a pretty nice picture manager using Neo4j, perceptual hashes, and various latent embeddings but you have to be able to write Cypher queries to use it.
reply
lejalv
2 months ago
[-]
link?
reply
savolai
2 months ago
[-]
Elodie makes a copy of all my images initially? Is the recommenddd route then to delete the files in original location? Seems unclear at first read.
reply
jmathai
2 months ago
[-]
There's a `--trash` option for the import command. It's not the default behavior though. I recommend deleting the source photos once you've verified Elodie has organized the photos how you'd like.
reply
eichin
2 months ago
[-]
(Warning, at least on chrome the video autoplays)
reply
matt3210
2 months ago
[-]
Auto playing video unmuted is not cool
reply
ListenLinda
2 months ago
[-]
seems like he missed the mark. why not sync to side-car files? What about videos?
reply
jmathai
2 months ago
[-]
I did say it was robust…

I include video [1] and audio (.m4a) [2] files via EXIF.

For text files [3], I add a JSON block at the top to mimic EXIF.

I don’t want to deal with an additional sidecar file per asset. The risk of losing one during a transfer between systems is too high. It’s a conscious decision and not an oversight.

[1] https://github.com/jmathai/elodie/blob/2645bf25b81c63f65d6f1...

[2] https://github.com/jmathai/elodie/blob/master/elodie/media/a...

[3] https://github.com/jmathai/elodie/blob/master/elodie/media/t...

reply
ndesaulniers
2 months ago
[-]
Immich is deliteful software.
reply
the_gipsy
2 months ago
[-]
Vibecoded, ok.
reply
jmathai
2 months ago
[-]
This specific plugin was purely written by Claude Code, correct. The prior 10k lines of python were not.

Without Claude Code, the plugin would probably only exist in my imagination.

I don’t personally care who writes the code. There’s plenty of contributors already.

reply
geldedus
1 month ago
[-]
What is it so laughable in your "ridiculously robust" thing ?
reply