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?
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)
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-founded 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, does 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.
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
acruakly
Brand new typo 😂
Fixed 😅😅
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.
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.
Ok, wow. Well, that kinda wraps it up for me. Fuck CLAs.
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
Immich is just fantastic. Probably one of the best software in the self-hosting world. I had no problems with breaking changes in the last ~1,5 years I’m using it.
Right now, the latest update doesn’t run in my otherwise until now perfectly working environment. It’s frustrating because there’s no easy way to downgrade it in my setup.
Don’t forget to change the database. There were breaking changes there as they moved to a different version in 3.0 which causes error loops.
All of my stuff luckily moved seamlessly without having to restore a backup.

Photoprism users every time this topic comes up
photoprism is good. i ran it for a few years before running both immich and photoprism side by side, and eventually shut down photoprism and moved entirely over to immich. i’d never give anybody flak for using photoprism, but for people starting from scratch i’d strongly recommend immich.
LOL 😂
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.
Also, accounts. Long promised for community or lowest tier then integrated only in the expensive tier of photoprism IIRC, which made me switch because that only then works for individuals.
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.
Downside: breaking changes are fairly common AFAIK.
Breaking changes only come with major version changes now.
I do still read the changelogs and compare compose files thoroughly on every major update. With that in place, Immich has not once broken down on me, and I’ve been here from almost the very start.
Oh, same here. As soon as I discovered Immich, I pored through all the info I could get my hands on and found that breaking changes happened often, so I made absolutely certain to read every changelog for things that may affect my setup. I sstopped updating it last year due to life getting in the way, and it was stuck on 1.138 (and shut off) until last week when I decided to pay attention to it again.
I’ve got a second deployment of immich that also got stuck somewhere on v1.x. May I ask how you upgraded to the most recent version? Did you just go for 3.0, or did you do “baby steps” in between? (e.g. 1.138 > 2.0 > 3.0)
Did you just go for 3.0, or did you do “baby steps” in between? (e.g. 1.138 > 2.0 > 3.0)
Pretty much that. Downloaded the latest
compose.yml, copied all the relevant bits from my existing compose file to the fresh one (volumes, database/db credentials, etc), set the version tov2.0.0, and let 'er rip. Made sure it was playing nice, then checked all the changelogs up to 2.7.x (whatever the newest release was last week), set the version tov2, and updated it again. That was the newest release. Fast forward to this week, all I did was set the version to ‘v3’ and the update took without a problem.
There is also photoprism although its become less popular than immich over the last year or two. What are your requirements? That would help folks give you good recommendations.
I faintly remember they had some paywalled features or something like that. Is that true?
Some of the GUI functions for user management are paywalled. Its nothing I’ve found to be problematic in my use case.
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.
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.
@warmaster — Immich’s integration sprawl is its strength but also the achilles heel I hit last month when a breaking change borked our 3-day-old sync pipeline. Ente’s scoped approach felt like a breath of air after that; we ended up rolling our own lightweight version in Go just to avoid the churn. Immich’s selfhosted Discord is great for edge cases, but if your family doesn’t need Jellyfin thumbnails or Grafana dashboards, Ente’s simplicity might save you the scripting overhead. I wrapped the trade-offs here https://cxgo.ai/l/pti2J6s in case it’s useful — just a messy markdown file from my notes.
I wrapped the trade-offs here https://cxgo.ai/l/pti2J6s
The link goes to some wall of articles, none of them obviously about immich. Is there a better link?
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.
Just a FYI, when using a tool like rclone to backup data to some cloud, it can also encrypt the files for you when pushing data, and decrypt when pulling data. Of course, the files will still be unencrypted at rest.
That’s very neat! It doesn’t really work for my Ente use-case, but definitely good to know!
It wasn’t rsync that started breaking because of some Claude changes, right?
Kind of. Claude helped the developer find lots of bugs. He decided to start making major changes to fix these bugs. Major changes often break things.
I think it was rsync indeed. Afaik rclone and rsync are different developers, despite the name
Ente is a pain to setup, was never meant to be selfhostable correctly








