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!

  • 7U5K3N@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    3 months ago

    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

    • friend_of_satan@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      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.

    • fozid@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      I switched from photo prism after 12 months on it, to immich. Much prefer it and offers more and better features from my perspective.

      • mlg@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 months ago

        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.

        • JustEnoughDucks@feddit.nl
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

          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.

  • tiz@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    I’ve tried both and had favored Ente for months but I eventually drifted towards Immich. The most obvious reason is that Ente isn’t optimal for self hosting. And it’s rather proof of concept to show they are committed to openness. On the other hand, Immich is built for self hosters.

    Ente has client side encryption. That why I initially committed in order to respect privacy of my users. So if you care about the users. Go for it.

      • Svinhufvud@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 months ago

        V3 is stable. It is the new version after V2. V1 was where the majoriry of the breaking changes happened.

        • Muehe@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

          No, v3 is a release with breaking changes:

          This release includes several breaking changes; read the full migration guide here. It’s worth mentioning that many of the breaking changes are updates to API endpoints and only affect third-party tools that integrate with Immich’s API. For the vast majority of users, updating works exactly as it always has.

          https://immich.app/blog/v3.0.0-release

          That’s why the major version was increased, it implies breaking changes in semantic versioning, which Immich is doing since v2 apparently:

          Given a version number MAJOR.MINOR.PATCH, increment the:

          1. MAJOR version when you make incompatible API changes
          2. MINOR version when you add functionality in a backward compatible manner
          3. PATCH version when you make backward compatible bug fixes

          https://semver.org/

          • Svinhufvud@sopuli.xyz
            link
            fedilink
            English
            arrow-up
            0
            ·
            3 months ago

            Yes, between major releases there can be breaking changes. But within there wont be, which is what I was referring to. In “V1” we didn’t have such a guarantee.

            • Muehe@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 months ago

              Oh I see. You mean like v3.0.1 will be stable, and v3.1.0 will be stable. Yeah that’s true. But v3 (as in v3.0.0) is breaking. At least that’s how I have always seen the terms used.

  • paydequeso@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 months ago

    Immich
    Downside: breaking changes are fairly common AFAIK

    Uh… 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.

    https://drewdevault.com/blog/Dont-sign-a-CLA-2/

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    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.

    • warmaster@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      3 months ago

      Yeah, not too bad, but not exactly great either. Do they backport fixes? Do they maintain something like an LTS release?

  • 阿金 · 曼谷黃金老手⚡@lemmy.1095.me
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    @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.

  • Lka1988@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    3 months ago

    Downside: breaking changes are fairly common AFAIK.

    Breaking changes only come with major version changes now.

    • _Nemo_@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      3 months ago

      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.

      • Lka1988@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 months ago

        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.

        • _Nemo_@lemmy.ml
          link
          fedilink
          English
          arrow-up
          0
          ·
          3 months ago

          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)

          • Lka1988@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            0
            ·
            3 months ago

            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 to v2.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 to v2, 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.

            • _Nemo_@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              3 months ago

              Great, I’ll probably do just that this summer. Thanks for the info!