Chosing the right photo app for my family
So, Immich vs Ente, this is my last piece of the selfhosted puzzle. Please help me make an informed decision:
Immich
on the plus side, it seems to have more features and it has a gazillion integrations with other selfhosted software. Downside: breaking changes are fairly common AFAIK.
Ente
looks like the opposite, more mature, scoped and less integrated.
Am I reading this right? Am I missing something?
Edit: Thanks everyone, I’m going with immich!
Ente is a pain to setup, was never meant to be selfhostable correctly
Running immich since 2 years, never had a single breaking issue or instability of any kind.
There is really no reason not to choose immich unless you prefer something that’s only in ente.
I use Ente, but it’s purely because I want my images backed up in the cloud, but I don’t want the server provider to be able to mess around with them. Hence the e2ee being important to me.
I love Ente, I think it’s a great project, but for self-hosting, immich seems like the best choice to me.
Echoing what others have said, Immich hasn’t had breaking changes in a while. That being said it’s one of the services I keep it on a pinned version and read release notes before updating.
Can’t comment on ente. I looked at it originally along with many others and initially chose photo prism. Ran that for around 6 months then switched to immich. Have no plans on changing any time soon. I host 4 users on it. It works great, been using it over 12 months so been on it from v1, and been through all the changes to V2 and V3 and never had a breaking change. Have auto updates in in podman for it so I never manually touch it. It just works.

Photoprism users every time this topic comes up
I switched from photo prism after 12 months on it, to immich. Much prefer it and offers more and better features from my perspective.
Yeah I might switch over too because immich didn’t originally have some of the sort and detection features like Photoprism.
Photoprism is pretty good but it doesn’t have some of the nicer UI features immich has.
LOL 😂
Immich
Downside: breaking changes are fairly common AFAIKUh… that’s news to me. I’ve been hosting 2 user’s photos for 1.5 years with absolutely zero breaking changes. I just updating from v2 to v3 and nothing broke.
I briefly checked out Ente, but personally I have zero trust for any project that requires users to sign a CLA to contribute like Ente: https://github.com/ente/ente/pull/11084#issuecomment-4762402896
Immich doesn’t do those shenanigans: https://github.com/immich-app/immich/discussions/7023#discussioncomment-8433346
CLAs are bad because the project can change the license whenever they feel like it. So Ente is effectively reserving the right to go full evil with their CLA.
Whereas Immich can’t suddenly decide they want to move away from AGPLv3.
Ok, wow. Well, that kinda wraps it up for me. Fuck CLAs.
immich hasnt had any major breaking changes for a while in my experience using it for a few years, anything that does break is probably some third party integration or plugin that would have to wait for it’s own maintainer to fix, that’s pretty normal in the open source world.
I just moved from v2 immich to v3.
Literally changed the version in my env file and then deleted all docker images.
I then pulled all images and brought all containers online.
0 issues.
Immich has been running really well for us on my n100 for 10 months now. I did dual Google photos and immich for a 3 months and then exported out from gphotos.
I started 2026 with immich only. Been rock solid the entire time.
Of course that’s all anecdotal and ymmv. But immich is fantastic
I’m running Immich as a TrueNAS app. Unfortunately after upgrading to v3 the immich container is stuck on starting, without outputting any logs. Haven’t had the time to debug yet though.
Yea I changed over to v3 without issue recently too, I read the release notes and some of the issue conversations on github, so I knew what to expect.
That’s something a lot of people dont do, if you are self hosting an open source project it’s on you to stay on top of those things, stay updated as much as possible but dont do major jumps blindly without backups.
In my case, I went from a regular immich in a container to one with openVino built in for gpu accelerated image analysis and face detection, and I had to change my database container image. Then it fired straight up and everything seems to work 100% so far.
Pretty much the exact same experience here. I just removed my wife’s photo storage from Google completely as of this month 🎉. Don’t even need the security blanket anymore. Immich is it.
I had a mini panic when moving from v2 to v3 was not automatic today, but it was a 15 minute fix, that was mostly just reading the step-by-step instructions for the update. Copy-pasted a handful of lines and we’re off!
Haha I had a much harder time with the compose formatting than I did with the actual upgrade.
Line
Or
Line.?
Either way fuck you compose. Haha
Good to know. it’s very tempting. It has every feature we need, and it integrates to every other relevant app I selfhost.
Do you keep a backup? How do you do it?
I’m super basic backup wise.
I run a rsync command that backs up the database dump and all the immich assets to a USB hdd. I do that every couple of days or when I think about it haha
I then back that USB drive up to another USB drive on my personal computer.
These drives are wd Reds and in USB enclosure.
My buddy has offered to host a off site backup but I have a toddler and as such 0 time.
I probably should look into some cold storage or something but shits expensive these days and I’m currently satisfied with where I am.
Knocks on wood
Additional context… I’m running Debian with mergerfs across like 8 drives. So my photos are spread across several drives in my /storage/photos folder. So In oder to lose everything all at once. It would have to be a flood or house fire or something…
Immich is great. I run a small friends and family instance on a NAS and I’ve never had a hiccup that took more than ten minutes to fix. My backup system is borg to a Hetzner storage box nightly with a healthchecks.io check set to email me if it goes more than 48 hours without a success. Cheap, reliable, and fast enough for me.
My experience with ente was that it is horribly slow. It also lacks any feature to upload a large number of photos at once. I just never bothered uploading my 10k pictures I have taken over the last 15 years because it would have had to transfer them to a phone and then have the app open for a few weeks. No rclone or any other reasonable way to upload from a computer other than browser (which just doesn’t work for more than a few images)
The big difference is that ente is encrypted.
If you use FDE, Immich is also encrypted but only at rest.
By at rest you mean not in transit or something like that?
That may not be the right terminology. I men it’s decrypted when booting and encrypted when it’s unplugged or shut off.
The disk is still encrypted even when turned on, it’s just transparently decrypted when read. I doubt Ente is any different - you store images encrypted on disk, decrypt them to be able to read them as an image, then send it re-encrypted over HTTPS.
Immich released it’s first “stable” version. They mean to have fewer breaking changes and prioritize compatibility.
https://immich.app/blog/v2.0.0-release
I highly recommend.
They acruakly just released v3 https://immich.app/blog/v3.0.0-release
Admittedly I don’t know anything any Ente, but I’m extremely satisfied with Immich. Haven’t upgraded to v3 yet but will be soon
Downside: breaking changes are fairly common AFAIK.
This is no longer the case after the version 2.0 release. Version 2.0 is the stable release: https://github.com/immich-app/immich/discussions/22546
https://github.com/immich-app/immich/releases/tag/v3.0.0
is V3 not stable? Are they back porting security fixes to V2?
V3 is stable. It is the new version after V2. V1 was where the majoriry of the breaking changes happened.
Downside: breaking changes are fairly common AFAIK.
By my extremely cursory reading, this stopped being a problem after the v2.0.0 release, when they adopted semantic versioning. According, breaking changes would only occur when the major version number is rolled. And version v3.0.0 was just released 5 days ago, whereas v2.0.0 was released in October 2025.
It may be down to taste, but I view 9 months as being acceptable, given the breadth of features offered and the folks willing to put effort into the project.
Yeah, not too bad, but not exactly great either. Do they backport fixes? Do they maintain something like an LTS release?
Is that something you’re looking for? As a practical matter, the effort to maintain multiple release branches and backports – compared to the norm of just maintaining a single main branch – is an outsized effort, available to only well-funded FOSS projects, usually by having an industry sponsor that makes it a priority.
I posit that the grand majority of selfhosted FOSS software, by project count, do not have back ported branches. And so production environments will want to set up an offline validation setup to evaluate update, prior to making the switch. Not convenient, sure, but not exactly insurmountable either.
At some point, some amount of responsibility for use of FOSS software must fall upon the users, or else the project is less about creating value by building up the commons for software, and more on the exploitation/abuse of the volunteers.
I’ve been pretty happy with ente after moving from immich a year or two ago when the breaking changes were basically every time I opened the app on my phone.










