Immich is one of the only apps on iOS that properly does background sync. There is also PhotoSync which is notable for working properly with background sync. I'll take a wild guess that Ente may have got this working right too (at least I'd hope). This works around the limitation that iOS apps can't really run as background apps (appears to me that the app can wake up on some interval, run/sync for a little and try again on the next interval). This is much more usable then for example, the Synology apps for photo sync, which is, the last time I tried, for some reason insanely slow and the phone needs to have the app open and screen on for it fully sync.
Some issues I ran into is the Immich iOS app updating and then being incompatible with the older version of the server installed on my machine. You'd have to disable app updates for all apps, as iOS doesn't support disabling updates for individual apps.
In my specific scenario, the latest version of Immich for NixOS didn't perform a certain migration for my older version of Immich. I had to track down the specific commit that contained the version of Immich which had the migration, apply that, then I was able to get back to the latest version. Luckily, even though I probably applied a few versions before getting the right one, it didn't corrupt the Immich install.
I didn't even realize this tool existed. I tried something like it awhile back, but it didn't work to my satisfaction (I don't remember why), so my awful, awful, awful workflow is to use the Google Takeout functionality to generate something like 8 .tar.gz files (50 gigabytes each), manually download each one (being prompted for authentication each time), and then rsyncing them over to my local server, and finally uncompressing them.
It's very lovely how much Google doesn't want you to exfiltrate your own data.
I wonder at which point I'll get annoyed enough to go through the effort of setting up immich. Which, naturally, will probably involve me re-working my local server as well. The yak's hair grows faster than I can shave it.
Immich put the joy back in photography for me, it's so easy to find anything, even with just searching with natural language.
FWIW, I also don't use any fancy collection management and barely understand what all these Lightrooms and XMP files are for. Maybe I should, but up to this day photos for me are just a bunch of files in the folder, that I sometimes manually group into subfolders like 2025-09, mostly to make it easier on thumbnail-maker.
If your solution to an issue is "just reset the Redis cache", this is when I am done.
Immich solves the wrong problem. I just want the household to share photos - I don't want to host a Google Photos for others.
I love that the consumer space is getting this kind of attention. It’s one of the biggest opportunities for big tech to lock people into their ecosystem, as photos are something everyone cherishes. You can extort people with ever increasing subscription fees because over time they reach a scale with their own photos that makes it inconvenient to manage themselves. It’s nice to have multiple options that are not Google or Apple.
I started looking for alternatives after Synology became more restrictive with their hardware. I'm curious if anyone else has had a similar experience.
The project as a whole feels competent.
Stuff that should be fast is fast. E.g. upload a few tens of thousands of photos (saturates my wifi just fine), wait for indexing and thumbnailing to finish, and then jump a few years in the scroll bar - odds are very good that it'll have the thumbnails fully rendered in like a quarter of a second, and fuzzy ones practically instantly. It's transparently fast.
And the image folder structure is very nearly your full data, with metadata files along side the images, so 99% backups and "immich is gone, now what" failure modes are quite easy. And if you change the organization, it'll restructure the whole folder for you to match the new setup, quietly and correctly.
Image content searching is not perfect (is it ever?), but I can turn it on in a couple clicks, search for the breed of my dog, and get hundreds of correct matches before the first mistake. That's more than good enough to be useful, and dramatically better than anything self-hosted that I've tried before, and didn't take an hour of reading to enable.
It's "this is like actually decent" levels that I haven't seen much in self-hosted stuff. Usually it's kinda janky but still technically functional in some core areas, or abysmally slow and weird like nextcloud, but nope. Just solid all around. Highly recommended.
> RAM: Minimum 4GB, recommended 6GB
Wow. When factoring in the OS, that's an entire system's worth of RAM dedicated to just hosting files!
What does it use all this for? Or is this just for when it occasionally (upon uploading new pictures) loads the image recognition neural net?
I'd have to stop Immich whenever I want to do some other RAM-heavy task. All my other services (including database, several web servers with a bunch of web services, a Windows VM, git server, email, redis...) + the host OS and any redundancy caused by using containers, use 4.6GB combined, peaking to 6GB on occasion
> CPU: Minimum 2 cores, recommended 4 cores
Would be good to know how fast those cores should be. My hardware is a mobile platform from 2012, and I've noticed each core is faster than a modern Pi as well as e.g. the "dedicated cores" you get from DigitalOcean. It really depends what you run it on, not how many of them you have
I use Cloudflare tunnel to make it available outside the home network. I've set up two DNS names – one for accessing it directly in the local network, and and a second one that goes through the tunnel. The Immich mobile app supports internal/external connection settings – it uses the direct connection when connected to home wifi, and the tunnel when out and about.
For uploading photos taken with a camera I either use immich-go (https://github.com/simulot/immich-go) or upload them through the web UI. There's a "publish to Immich" plugin for Adobe Lightroom which was handy, but I've moved away from using Lightroom.
For example, when they moved between Postgres container versions, it required a manual edit to the compose file to adjust the image. Even if you managed to get it set up initially in docker, it’s these sorts of concepts that are way more advanced than the vast majority of people who may even be interested in self-hosting.
For a hobbyist self-hoster it’s cool and fun, but not something at this point I’d trust my photos to alone. I have considered Ente for that but today it’s still iCloud Photos.
I actually did the math earlier and the iCloud 12TB plan for a family is way cheaper than the equivalent s3 storage assuming frequent access, even assuming a 50% discount. so that's nice.
Immich's current integration solutions (like "External Libraries") treat the archive as a read-only view, which leads to a fragmented user experience:
- Changes, facial recognition, or tagging remain only within Immich’s database, failing to write metadata back to the archival files in their original directory structure (last time I checked, might be better now.
- My established, meaningful directory structure is ignored or flattened in the Immich view, forcing the user to rely entirely on Immich’s internal date/AI-based organization.
My goal (am I the only one?) of having one app view all photos while maintaining the integrity and organizational schema of the archival files on disk is not yet fully met.
Immich needs a robust, bi-directional import/sync layer that respects and enhances existing directory structures, rather than just importing files into its own schema.
I'm curious to know which one would suit me best.
I also use Tailscale, and use cloudflare as nameserver and Caddy in front of Immich to get an nice url and https. For DNS redirects I use Adguard on the tailnet, but (mostly for family) I also set some redirects in my Mikrotik hEX (E50UG). This way Immich is reachable from anywhere and not on the internet. Unfortunately it looks like the Immich app caches the IP address somewhere? Because it always reports as disconnected whenever Tailscale turns off when I'm at home or the other way around and takes some time/attempts/restarts to get going again. It's been pretty flaky that way...
Other than that: Best selfhosted app ever. It has reminded me that video > photos, for family moments. Regularly I go back through the years for that day, love that feature.
Its not perfect but its great to be able to just search for things in a photo and find any matches across dozens of TBs of raws, without having to have some 3rd party cloud AI nonsense do all the work.
The only thing I wish they could get integrated is support for jxl compressed raws, which requires them compile libraw with adobe's sdk.
I updated the container for usual appliance maintenance. Entire thing is toast. Metadata files can't be read, mounted, permission issues and more. It's been four months since.
Immich really is fantastic software, and their roadmap is promising. I hope they have enough funding to keep going.
Much more responsive and clear UI, golang backend are two main subjective advantages.
I love the immich success story but it seems like it's missing a crucial use case in my view: I don't actually want a majority of the photos on my phone. I want something like a shared album that me and my wife both have access to, and so we can share photos specifically to that album (quickly and without hassle), so we can do it in the moment and both have access.
I would probably estimate 90% Of my photos are junk, But I want to isolate and share the 10% that are really special.
My app failed, but I'm thinking about reviving it as an alternative front-end to immich, to build upon that.. But I feel like I'm the only one who wants this. Everyone else seems fine with bulk photo backup for everything.
That’s all the author is trying to do. He isn’t trying to avoid or replace Google Photos - just have a local backup.
Even Apple has a Windows app that does that for iCloud Photos
The fact that they don't support sub-albums make it an absolute no-go to me.
I know how much Adobe is hated around any creative circle, but tbf I find that Lightroom CC does this pretty well. Adobe has a well done simple helper app that does just that: downloads the entire of your library locally, with all pictures, all edits, everything. For backup purposes is perfect. Lightroom might be expensive for amateurs, but if you even just do a couple of photo jobs per year, it's worth every cent.
The Android app is good but does quite often fail to open, just getting stuck on the splash screen indefinitely. Means I have to have another app for viewing photos on my phone.
One of the main reasons I wanted to install it is because my partner runs out of space on her iPhone and I don't want to pay Apple exorbitant amounts for piffling storage. Unfortunately it doesn't quite work for that; I can't find an option to delete local copies after upload.