Immich v2.0.0 – First stable release

(github.com)

543 points | by Alexvb 5 days ago ago

163 comments

  • jaredlt 5 days ago ago

    I appreciate the Cursed Knowledge section on their website https://immich.app/cursed-knowledge

    > Cursed knowledge we have learned as a result of building Immich that we wish we never knew

    • darkwater 5 days ago ago

      Reading it I see this

        50 extra packages are cursed
      
        There is a user in the JavaScript community who goes around adding "backwards compatibility" to projects. They do this by adding 50 extra package dependencies to your project, which are maintained by them.
      
      
      which bring to this user: Jordan Harband https://github.com/sponsors/ljharb Does anyone know what they actually mean with that cursed knowledge point? And what's the "backwards compatibility" that Jordan also boasts in his GH profile?
      • whilenot-dev 5 days ago ago

        To not just link to another thread: The specialty of ljharbs issues sits somewhere between "JavaScript is a very dynamic programming language that grew a lot and quite fast" and "we cannot trust developers to do the right thing".

        His libraries tend to build up on older runtime implementations and freeze every used functionality during runtime, so they provide "second-run safety" and "backwards compatibility". Developers disagree with some of its effects, such as a grown dependency tree and impacts in performance of multiple magnitudes (as measured in micro-benchmarks). ljharb seems to follow a rather strong ideology, but is a member of the TC39 group and a highly trusted person.

        • 12345hn6789 4 days ago ago

          ljharb is also conveniently paid per download. His actions border on malicious especially when viewing from a supply chain attack angle.

          https://github.com/A11yance/axobject-query/pull/354#issuecom...

          • pxc 4 days ago ago

            It definitely feels a bit strange and potentially alarming, but after reading through that whole thread he ultimately seems like a sincere person doing work that he thinks matters, now getting dogpiled for it.

            • lpln3452 4 days ago ago

              If he had kept his strange and alarming behavior to himself, he wouldn't be 'getting dogpiled' for it now.

              The problem is that he's forcing his ways on others. If we're identifying an aggressor here, it's him. The project maintainers are the victims.

              • pxc 3 days ago ago

                At least in the thread linked here, it seems like his maintainership over the project is legitimate, which makes it wrong to characterize him as "forcing" his ways on anyone.

                • lpln3452 3 days ago ago

                  Even ignoring that examples of his behavior are easily found elsewhere, the link itself shows him completely disregarding feedback from other contributors to force his own way.

                  Honestly, I can't understand the intent behind such a defensive rebuttal to the criticism of his actions.

                  • pxc 2 days ago ago

                    I don't care one way or another. I'm not a JS developer. I'm just struck by a reaction that seems quite extreme, and very visible dogpiling.

                    • lpln3452 2 days ago ago

                      My point wasn't about javascript. He got pushback because he ignored everyone and just did his own thing. It has nothing to do with javascript and you can see that in the link. That's a weird excuse.

            • Sammi 4 days ago ago

              I haven't found one person who agrees with him on what he thinks matters. His way is wasteful and slow and just indefensible.

          • silverwind 4 days ago ago

            Also, I imagine cost of the globally wasted CPU cycles is much higher than what he profits. It's a pure abuse of resources.

      • slaterbug 5 days ago ago

        I don't have much to add myself, but there was a bit of discussion around this back in August that you might be interested in: https://news.ycombinator.com/item?id=44831811

        • darkwater 4 days ago ago

          Wow! Didn't know Immich's Cursed page had already a dedicated post on HN.

          I love reading about opensource drama, especially if it's some technology I don't use directly, it's like watching a soap opera.

        • 12345hn6789 4 days ago ago

          This user makes money of off how many downloads their packages receive.

          https://github.com/A11yance/axobject-query/pull/354#issuecom...

          • greggsy 4 days ago ago

            What a dumpster fire.

            Is he really being paid per download, or is he just being sponsored? It’s not clear if either would imply some form of malicious intent either.

      • pcthrowaway 5 days ago ago

        Seems like this thread answers your question https://news.ycombinator.com/item?id=37604373

    • whilenot-dev 5 days ago ago

      Agree, I wish every project would have that!

      I still think the conclusion on "setTimeout is cursed"[0] is faulty:

      > The setTimeout method in JavaScript is cursed when used with small values because the implementation may or may not actually wait the specified time.

      The issue to me seems that performance.now()[1] returns the timestamp in milliseconds and will therefor round up/down. So 1ms errors are just within its tolerance.

      [0]: https://github.com/immich-app/immich/pull/20655

      [1]: https://developer.mozilla.org/en-US/docs/Web/API/Performance...

      • ffsm8 5 days ago ago

        JS is not a realtime language.

        setTimeout() does not actually guarantee to run after the elapsed time. It merely gets queued for the next async execution window after that timer elapsed. Hence it can also be off by infinity and never get called - because JS is single threaded (unless you use a worker - which comes with its own challenges) and async windows only open if the main thread is "idle".

        Usually, this is very close to the time you set via setTimeout, but it's very frequently slightly off, too.

        • whilenot-dev 4 days ago ago

          setTimeout guarantees that the time provided is the time that has at least been elapsed, if it elapses at all - I think that is known to every JavaScript engineer out there.

          Then there are also gotchas like these[0][1]:

          > As specified in the HTML standard, browsers will enforce a minimum timeout of 4 milliseconds once a nested call to setTimeout has been scheduled 5 times.

          Still, the issue is rather how to measure the elapsed time reliably, for unit-tests among other things.

          [0]: https://developer.mozilla.org/en-US/docs/Web/API/Window/setT...

          [1]: https://html.spec.whatwg.org/multipage/timers-and-user-promp... (first Note)

        • tigeroil 4 days ago ago

          Indeed - I was a bit surprised by them mentioning this to be honest, since, as I understand it, this is kind of a widely accepted limitation of setTimeout - it's purely a 'best effort' timer. It's not intended to be something where "yes after exactly Xms it'll execute.

        • MrJohz 4 days ago ago

          This isn't quite the whole picture. If called in a nested context, `setTimeout` callbacks get executed in the next execution window, or at least 4ms after the initial call, whichever is earlier. Similarly, I believe `setInterval` has a minimum interval that it can't run faster than.

          See: https://developer.mozilla.org/en-US/docs/Web/API/Window/setT...

        • perching_aix 4 days ago ago

          > JS is not a realtime language.

          Is there even such a thing? You're at the mercy of the platform you're running on. And Windows, Linux, Mac, Android, and iOS are not realtime to begin with.

          I guess if you're running on a realtime platform but in a VM like JS does, you can then take that property away, downgrading the "language" from being realtime. I wouldn't call that a language property still though, maybe my VM implementation doesn't make that downgrade after all.

    • daemonologist 4 days ago ago

      They think Postgres is cursed with a 2^16 limit; SQL Server has a parameter limit of ~2,000. I guess at least it's low enough that you're going to fail early.

      • kardianos 4 days ago ago

        Sure, but SQL Server DB protocol (TD) has a dedicated Bulk Insert specific for that functionality. TDS isn't perfect, but it is much better then the postgresql wire protocol v3.

        Sometime I want to build a DB front-end that you send up some type of iceberg/parquet or similar, and return a similar file format over a quic protocol. Like quic, persistent connections could be virtualized, and bulk insert could be sane and normalized: eg insert these rows into a table or temp table, then execute this script referencing it. While I'm at it, I'll normalize PL/SQL so even brain-dead back-ends (sqlite) could use procedural statements and in-database logic.

      • thewisenerd 4 days ago ago

        and then you write `.chunked(list)` so you can write `.map { query(list) }` instead of `.map { query(it) }` :)

        i wish there was an unused lambda parameter warning..

    • kmarc 5 days ago ago

      I love it. Immediately added to my daily note-taking practice

    • senectus1 5 days ago ago

      the "personality" of this team is just such a joy...

      • perching_aix 4 days ago ago

        Are you being sarcastic or just an ellipsis (…) abuser? If the former, what for?

  • teekert 5 days ago ago

    Immich is really great, easily now my fav self-hosted app. I used the Immich CLI [0] and later Immich-go [1] to get all my photos in. That was a breeze. I set it to use the folders as albums... And now I have a lot of cleaning up to do, but other than with files and folders, I'm really enjoying the process!

    A poweruser tip that has helped me a couple of times: Use ZFS (or other snapshotting facilities) to make snapshot before making any changes/updates or doing large imports. It makes the whole thing sort of bullet proof and you can retry if you're not happy with some import flag.

    Immich had my old Corei3 server making a lot of noise for a couple of days btw! But, it's really good at facial recognition, not so much on finding dogs or something. But still very cool if you don't have to compromise on features as a self-hoster, I'm really grateful and will buy the "support package" (which does not add anything afaik... btw later they will come with a way to do seamless, encrypted off-site backups).

    [0] https://docs.immich.app/features/command-line-interface/

    [1] https://github.com/simulot/immich-go

    • stavros 4 days ago ago

      I just added an external folder and copied all my photos there. Even though Immich's own photos folder is just a directory with dates, Immich is much less picky about what goes in the external folder (and, more importantly, what disappears from it).

  • sonar_un 5 days ago ago

    For me Immich has been good, but not great. I keep going back to nextcloud photos if I really want to do any work, like sharing images and file management.

    I really don’t get having all of your images in a a library and not in a file structure. Immich can look at your external libraries but it can’t really do anything with them. I can’t injest, say my iPhone photos and then later categorize them and move them to the folder structure for more secure and stable long-term storage. I’ve wanted to like Immich and what they are doing, but I am fearful that they won’t be around forever and I will have just another wandering database of my images that I can’t really move to another platform when inevitably comes along.

    • sz4kerto 4 days ago ago

      > I really don’t get having all of your images in a a library and not in a file structure

      Immich can store your photos in a file structure you want. It can also reorganise your files on disk based on EXIF data, and so on.

      > I can’t injest, say my iPhone photos and then later categorize them and move them to the folder structure for more secure and stable long-term storage

      It can absolutely do exactly this.

      https://docs.immich.app/administration/storage-template/

      • sonar_un 4 days ago ago

        The storage template is nothing like managing your photos within the app, moving them to different, more specific, folders. All it does is allow a type of folder structure on the main drive where the upload directories are, but if you have a more specific file structure, it doesn't allow you to manage this.

      • kevinfiol 4 days ago ago

        Does this make Immich effectively function like Photoview? My current Immich by default stores my uploads in an `uploads/<UUID>/<bunch of random two character folders>` structure. This was a huge disappointment after moving from Photoview.

        • stavros 4 days ago ago

          I just had it store images in "photos/YYYY/MM/" when I set it up and that was it.

    • oblio 4 days ago ago

      They've been around for a 3 years, which is not a very long time for FOSS. However the software seems stable, fast, it has lots of releases, all of which are good signs in terms of future availability.

      I forgot the name, but there is a software "law" that software that has been around for N years will probably be around for N more years (so the longer it's been around, the longer it will continue to be around).

      I see about 7 big contributors: https://github.com/immich-app/immich/graphs/contributors. I think most of them work for/are sponsored by FUTO: https://futo.org/about/what-is-futo/

      And seeing the FUTO description, I like that. We need more of that :-)

      > FUTO is an organization dedicated to developing, both through in-house engineering and investment, technologies that frustrate centralization and industry consolidation.

      Though this part needs more research:

      > From its founding, FUTO has been funded entirely by investment from its sole owner, Eron Wolf.

      I have no idea who Eron Wolf is...

      Edit: found some more info. Potentially promising:

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

      https://gitlab.futo.org/eron/public/-/wikis/Thoughts-on-Open...

      Though the question remains about FUTOs long term sustainability.

      • alfyboy 4 days ago ago

        You’re thinking about the [Lindy effect](https://en.m.wikipedia.org/wiki/Lindy_effect)

        I donate to Immich monthly, and I’m glad they managed to keep the project going and not paywalling any of their features, even under the influence of their new sponsor.

    • poisonborz 4 days ago ago

      But for structuring, tagging, why would you need a database? There's the file system, and countless tools to batch edit images and exif. Immich is great to display images, and perhaps gather some bit of metadata, like face recognition.

    • 4 days ago ago
      [deleted]
    • sharperguy 4 days ago ago

      Funnily enough I use nextcloud to upload my photos and then immich with the external dir pointed to my nextcloud directory to actually view them. Mostly came about because I installed nextcloud first. But it means I get to keep both immich and still have a regular file structure.

      • hagbard_c 4 days ago ago

        Same here, I tried Nextcloud Memories first which has some of the same functionality but ended up being too slow in nearly all aspects. Immich does well in this regard so I use it just like you do using its external library feature.

        You may be interested in the change I submitted to Immich which makes it possible to directly log in to Immich using the Nextcloud OIDC app. Add Immich as an 'external site' and use the autoLaunch parameter [1] to have the site open in NC as if it were a 'native' app without needing to log in first.

        [1] https://docs.immich.app/administration/oauth/#auto-launch

        • sharperguy 2 days ago ago

          I didn't realize that nextcloud can act as an oidc provider. I use authelia for logging into nextcloud

  • stavros 5 days ago ago

    I use Immich and it's fantastic. All other self-hosted alternatives I I've used have been lacking in one way or another, but Immich is a joy to use. Fast, featureful, easy to set up. I love it so much I gave them $100 to support them.

    After stopping for years because it was hard to view them easily, I'm finally taking photos again because of Immich.

    • ignoramous 5 days ago ago

      > Fast, featureful, easy to set up. I love it so much...

      Alex Tran (Immich lead) really took it up a notch or two when FUTO "acquired" the project. The FUTO model is interesting in showing another successful way to grow & support FLOSS till self-sustainability.

    • Barbing 5 days ago ago

      >After stopping for years

      Honestly, thank you for making me feel marginally better about the disgustingly lazy, shortsighted, stupid etc. practice of using Google Photos even though they are waiting with bated breath to report me to the cops because I took a picture of my son to send to his doctor[1], before banning my whole account.

      Migrating to Immich, 2026, hold me to it please lazy me! Oh how’s the search? (Too lazy to label anything so rely on Google Spyware for text & object recognition search when iOS fails. Take photos every day of my life so plenty to trawl through.)

      [1] https://www.nytimes.com/2022/08/21/technology/google-surveil...

      • stavros 5 days ago ago

        Migrate today! I won't use any third-party photo service, that's too much data.

        The search is amazing, you search for "cat" and you get back all the cats.

        • j_bum 4 days ago ago

          The search is very impressive. It uses CLIP.

          So you can search “black cat on blue carpet in the morning” and expect to see a result (if it exists)

      • jadbox 4 days ago ago

        Did you ever get access to Gmail/fi again after the incident?? The article said the two cases, at time of writing, still had not gained access to their account again even after they were cleared.

        • Barbing 4 days ago ago

          Sorry! By "waiting with bated breath" I sarcastically meant they'd be eager to report me in the _hypothetical case_ I took a photo as reported! Glad we both feel for that poor dad.

          ...especially cause he's stuck with Yahoo (actually do remember that detail from the story, and that people give him a hard time for it)

      • washadjeffmad 4 days ago ago

        I've stopped using YouTube and run a bi-yearly Google Takeout (and wipe).

        https://takeout.google.com/

      • tecleandor 5 days ago ago

        OMG, I'm so sorry for that. That's terrible.

  • addend 5 days ago ago

    Can Immich do search/filter based on both map (geographic area) and time parameters? Through add-ons or search text syntax?

    Example 1. Show all photos from this area (draw rectangle on map) from times 22:00 to 00:00.

    Example 2. Show all photos from this area (draw rectangle on map) from years 2020 to 2024 in months march to may AND september to october from times 22:00 to 00:00.

    In the Immich demo the map view lets me zoom and shows bubbles with the number of photos from an area but I see no way to select an area or bubble to explore just those photos in an album or temporary view. The map view does have a time range option (last N days or date range yyyy-mm-dd to yyyy-mm-dd), but no time of day range or months range.

    Search view has advanced options with place dropdowns (country state city) but no map area rectangle option. Also has date range (yyyy-mm-dd to yyyy-mm-dd), but no time of day range or non-contiguous time criteria.

    I think a photo viewer could implement the exemplified kind of searches in a slim way through a map view (user draws a rectangle) with sliders (year range, months range, time of day range) that ideally let the user set multiple ranges on one slider (march to may AND september to october). Ideally such combo criteria could then also be bookmarked and searched and the filtered in items could be batch operated on (tag, rename, delete).

    • fivestones 2 days ago ago

      I want to be able to do all these same kinds of searches too. Especially layering on searches, like what you said about how the search ideally could be bookmarked and searched on. Like any search result could become a smart album maybe. I’d love to be able to search something like [all photos in the box I drew on the map] and then out of those results [photos in 2021 and 2023] and then out of those results [photos of person x] and out of those results a clip search like [people walking on the beach]. It would also be great to remove photos from the search like [photos in this geographical area] but not [clip search for “yellow lab”].

  • blacklion 4 days ago ago

    Immich is good to replace google photos or even Lightroom Library, but it is bad to replace Flickr.

    Does anybody know self-hosting solution to have nice site to show off selected photos? No authorization and users for viewers, no "share" links, but photostream, albums, tags, way to see one photo full-screen. With minimal "chrome" like Flickr can do.

    It doesn't need to have photo-organization things, object recognition, etc, which is needed to navigate your full library. Only way to show photos your specifically selected to publish.

    • Philpax 4 days ago ago

      Immich alone may not be sufficient, but immich-public-proxy might be: https://github.com/alangrainger/immich-public-proxy

      Check out the sample gallery: https://immich-demo.note.sx/share/gJfs8l4LcJJrBUpjhMnDoKXFt1...

      • EvanAnderson 4 days ago ago

        Not the parent poster, but that looks really promising.

        I want to get Immich up and running for my personal workflow. I shoot sports stuff regularly that I want to share along with personal photos I do not. Right now my workflow is frustratingly manual for this process. Having the "share with the public" functionality right beside my internal workflow would be a dream.

        • toomim 4 days ago ago

          Me too. I've been wanting this with immich.

      • stavros 4 days ago ago

        How is this different from what Immich does natively?

        https://immich.home.stavros.io/share/ztG3VGyrbofAw3QUXjytV2P...

        The GP wanted albums, for example, which this doesn't seem to have?

        • Philpax 4 days ago ago

          You don't have to expose your Immich to the outside world, which may give you a degree of peace of mind. It sits in front of shares, so you would share your albums individually, as you have there. I guess you'd still need a directory for those, yes.

          • blacklion 4 days ago ago

            I don't want to have external directory, it is my problem. I want all photos uploaded shown in chronological order as first page and ability to drop-out menu with albums, search, like this. It should be public gallery, not site where I share photos with people who have special links (even if these links can be published on, effectively, other site). I even don't need any access rights, private photos, etc. Only public ones. It is gallery. Everybody can see, it can be indexed by search engines, etc.

      • jadbox 4 days ago ago

        No search feature?

    • kkukshtel 4 days ago ago

      I built something mostly like this, albeit not self-hosted: https://mood.site

      The idea of it is - a simple website where, when you go to it, an album is auto-created for you without need for an account.

      You can upload images to that site through drag and drop or clicking upload. Once uploaded images can be rearranged and resized, with the grid adapting.

      You can share the gallery with other people to collab on it by sharing the URL with the edit query param attached. If you share the link without the edit key the gallery is view only.

      Here's my personal inspiration board as an example: https://mood.site/WvP4xd6x

      Main thing it's lacking based on your ask is ability to toggle visibility for individual photos.

      --

      I haven't considered making it something people could self-host, but the underlying tech is easy enough and is just backed by a pretty simple database that I could maybe bake into a single delivery html + js file that references a folder of images. Would that be interesting?

    • iv11 3 days ago ago

      I've built something for exactly this purpose, but never made it public cause I thought it's not something interesting. One of my websites, https://slapstickers.org/, is just a frontend for an immich instance that I host where I upload my photos. Maybe I should make it public, but the code needs some cleanup, it's pretty messy.

    • EvanAnderson 4 days ago ago

      I looked at Photo Organizer[0] a few years ago as a possible way to share photos I shoot at events with the public. It didn't seem wholly unreasonable. Having said that, I'm not seeing the full-screen "chromeless" kind of look you're looking for on the maintainer's demo site[1] either.

      Edit: A sibling post's reference to the Immich public proxy looks pretty cool. I am anxious to try it out.

      [0] https://po.shaftnet.org/

      [1] https://www.peachyphotos.com/po/user/slp

    • Ir0nMan 4 days ago ago

      Ghost or Wordpress as your CMS and a Photography focused "theme".

    • victorbjorklund 4 days ago ago

      Just do a static website with object storage for the photos. If you just have a few thousand photos you could even bundle the photos with the website and host it for free at cloudflare pages.

      • blacklion 4 days ago ago

        I cannot design site :-)

        Also, I prefer to have some search (by tags, lens, words in description) and easy upload.

        (I have where to host site with virtually any number of photos)

    • mstngl 4 days ago ago

      io200[1] might be worth a look - a CMS for photos with low requirements for self-hosting (shared hosting is sufficient), nice themes, a powerful backend for managing photos and a proper free tier for more than testing. This CMS started its journey as Koken[2] which some might remember.

      [1] https://www.io200.com/

      [2] https://www.koken.me/

    • WD-42 4 days ago ago

      Have you considered a blog? You could probably realize your vision with Wordpress pretty easily.

    • aDyslecticCrow 4 days ago ago

      Eehm. Wordpress? Your requirements sounds like a normal personal portfolio website.

      • blacklion 4 days ago ago

        Several people suggested Wordpress, but I have very bad experience with helping my friends to install & use Wordpress. It is complete mess of software.

    • jasonfrost 4 days ago ago

      >Does anybody know self-hosting solution to have nice site to show off selected photos? ... >Only way to show photos your specifically selected to publish.

      Huh? The share feature works with no auth, I wouldn't want it different. Sounds like you just want to build a self hosted website to show portfolio work which... You just make a website

  • sagacity 5 days ago ago

    Immich is excellent. Especially the beta timeline introduced in the last few Android app releases has leveled Immich up from 'pretty decent' to a genuine replacement for Google Photos for me.

    • darkwater 5 days ago ago

      Yep, with the new timeline they fixed my biggest issue with Immich which was the local app won't even show your local photos if there was no connection to the server. Now it works, you just don't get others photos if they are not cached already but that's absolutely expected.

  • haunter 5 days ago ago

    What’s a good desktop app with the same-ish goal?

    > High performance [desktop] photo and video management solution

    Honestly all I want is

    - Non destructive library management. No copying and moving files and the library is just “a file”

    - Exif GPS map with search support (“Photos taken at NYC between 2 and 4pm”)

    - Automated (AI?) photo tagging

    • 0x000042 4 days ago ago

      Sounds like you need digikam. I have been a happy digikam user for more than a decade now. It works really well.

      The automated AI face detection can be improved compared to immich. But I guess this whole area is developing rapidly these days so I expect it to get better soon.

    • phlsa 4 days ago ago

      digiKam[1] might be for you. I only tried it briefly, but I think it covers most of the requirements out outlined.

      I personally landed on Peakto[2], since it has the unique ability to create a unified catalog across multiple CaptureOne sessions, but it's probably overkill for what you need.

      [1] https://www.digikam.org

      [2] https://cyme.io/en/products/peakto/

    • felixthehat 4 days ago ago

      Phil Gyford just posted about "Trying out eight macOS alternatives to Lightroom Classic to see if I could switch to one of them." which covers some of those points

      https://www.gyford.com/phil/writing/2025/09/27/escaping-ligh...

    • ghgr 4 days ago ago

      Checkout https://bpatrik.github.io/pigallery2/. I've been using it for years and it checks all the boxes you're looking for

      • haunter 4 days ago ago

        >self-hosted directory-first photo gallery website

        That's not a desktop app, in fact it's pretty much like Immich

    • Chilko 4 days ago ago

      I've been using Mylio on my laptop which might suit you? My main requirement was that I organise photos using my file structure for maximum portability, and this works well with that.

    • kkukshtel 4 days ago ago

      CaptureOne is the go to thing you want here. It's the best.

  • darkamaul 5 days ago ago

    I’ve been running Immich for about two years on Oracle’s free tier (200 GB disk / ARM VM), and it works great. Since I don’t fully trust Oracle for long-term storage, I’ve configured a daily backup to Backblaze.

    My only minor complaint is that new releases are super frequent and rarely add anything meaningful.

  • codethief 4 days ago ago

    Is there a proper changelog somewhere? Previous releases on GitHub documented changes in great detail but v2.0.0 only lists a few bug fixes and beyond that just refers to the git history: https://github.com/immich-app/immich/releases/tag/v2.0.0

    • Vinnl 4 days ago ago

      Looking at the Git history since the last release [1], that looks pretty accurate. Practically no changes other than now calling it stable.

      [1] https://github.com/immich-app/immich/compare/v1.144.1...v2.0...

      • codethief 4 days ago ago

        Huh. So why increase the major version? Does Immich not use semantic versioning?

        • ratrocket 4 days ago ago

          From TFA it sounds like they didn't do semver prior to this release but now will:

            > What versioning strategy will Immich use?
            >
            > Starting with v2.0.0, we will now follow semantic versioning.
          
          (edit for formatting)
          • a022311 4 days ago ago

            Yep, I was one of the people who complained about that when they were making breaking changes every other release. It's great to see they actually kept their promise!

  • Vinnl 5 days ago ago

    I've only been using Immich for a little while, but it's been amazing to see how quickly its development has been going. Hard to imagine they had much technical debt to tackle.

    > There are still a few items on our roadmap that we want to complete before the year ends such as auto-stacking, and achieving feature parity between the web and mobile app. We also have plans to start work on improved stack support, better sharing, group management, and ownership improvements, as well as many other enhancements.

    That said, this sounds like they're not going to get the full 2025 plan done: https://immich.app/roadmap

    Which is totally fine of course, I'm still a very happy user. But I'm really looking forward to Workflows! I'd love to automatically share with someone all pictures that include them.

    • illiac786 4 days ago ago

      Technical debt is really mean, they had planned for lots of these things for 2024 originally.

      But I still support them, technical debt is always like a iceberg, you trip on the tip, then discover it will consume you and your team for months to fix it. Still needs to be fixed as early as possible, otherwise everything becomes “invisibly slow”.

    • romainrbr 5 days ago ago

      > But I'm really looking forward to Workflows! I'd love to automatically share with someone all pictures that include them.

      There is a bunch of third party app that can do that easily, ie : https://github.com/romainrbr/immich-face-to-album

      But indeed it would be better to have it integrated into Immich

      • Vinnl 4 days ago ago

        Yes, I'm actually using that right now, except I haven't gone through the effort to set up a cron job, so I'm just running it manually every now and then now. Really looking forward to that being less effort.

  • drekipus 5 days ago ago

    I've been working on a project that had a similar origin story, and gave up because it's so big.

    I'm glad to see immich strive forward.

    I wanted to change the "approach" of how I do photos:

    * When I take a photo, it's usually in the moment.

    * I want to have the option to "share" that photo directly to a certain album

    * I'd want my wife / friends to be able to "share" the photo to those albums

    Almost the same way that "frequent contacts" come up from WhatsApp.

    Is this possible with the current app? This is what I wanted my app to do, and focus on being more "album" centric, rather than a big-black-hole of all photos I've ever taken..

    I might even make my app, but use immich on the backend, and allow users to order a hardcopy / backup of their albums as part of the app.

    • illiac786 4 days ago ago

      Isn’t that a simple shared album with upload permissions for everyone? Immich has that, yes.

  • rootnod3 5 days ago ago

    Really wanna try it out, but will have to see if and how I can build/install it manually on FreeBSD.

  • dpacmittal 4 days ago ago

    I tried immich recently and it works great. My only gripe with it is the use of postgres which requires separate backing up. Would've preferred something like sqlite for easier backups. Even better if it could embed metadata directly in EXIF or sidecar files.

    • crtasm 4 days ago ago

      It makes regular database dumps to library/backups/*.sql.gz so I think backing up the library directory is enough?

  • dsego 5 days ago ago

    This is the one photo manager that I have my eyes on, I'm just worried about critical bugs, I've seen some issues reported on github with losing data, like this one on the mobile app. https://github.com/immich-app/immich/issues/21936

    Not sure what to say, could be a very very rare edge case, but it's not very reassuring.

    • InsideOutSanta 5 days ago ago

      I've been using Immich for a year now and haven't lost a single image.

      Having said that, if you self-host something like this, you're responsible for making backups. The actual photos uploaded to Immich are stored in the file system as regular files. Any other data that Immich can't easily recreate is stored in Postgres, which it automatically dumps once a day. So if you back up your image files and your Postgres dumps, you can always recreate your library.

      • darkest_ruby 4 days ago ago

        Can you pls share the paths of folders to be backed up?, especially the raw image files

        • InsideOutSanta 3 days ago ago

          Immich has documentation here: https://docs.immich.app/administration/backup-and-restore/

          All relevant files are stored in your UPLOAD_LOCATION which you defined in your .env file (if you deployed immich via Docker Compose). The files you absolutely need to back up are in:

          - UPLOAD_LOCATION/upload ← Contains your images

          - UPLOAD_LOCATION/backups ← Contains your postgres dumps

          You should also back up these two directories:

          - UPLOAD_LOCATION/library

          - UPLOAD_LOCATION/profile

          They're not strictly necessary, but it makes it easier to restore the same setup.

    • teekert 4 days ago ago

      The issue you linked was close with a PR 1 hour ago :D

      Still not nice, I've always had all of Immich in a ZFS dataset with regular snapshots. Then you can always roll back. I've only had to use it when I wasn't happy with some large import though.

  • yesnomaybe 5 days ago ago

    Congrats and huge thanks.

    Been a user since over 1 year and it has been more than amazing. Progress was unbelievable. Features I was hoping would exist but never would have thought I would ever see them, like album sync, were added in short time.

    I've replaced Apple Photos with Immich (from iCloud to self-hosted) and this was one of the important things to transfer. I'm completely de-Appled now and Immich was part of the journey.

    • stavros 5 days ago ago

      Out of curiosity, have you bought the "supporter" upgrade?

  • magicalhippo 5 days ago ago

    I tried to use the embedding stuff a year ago but the results were lackluster, even with the larger embedding model.

    With the new multimodal LLMs it seems a better approach might be to get a multimodal LLM to describe the image and list keywords, and then just use the included Meilisearch.

    That said, I see they list some models I haven't tried, so perhaps time to try again.

  • vr46 4 days ago ago

    An excellent piece of work, although needed and continues to need more horsepower than I have readily available. UI not super-useful but I am going to dig in and see if the API can be utilized to get what I would like - better exposure of underlying file structure to quickly navigate by date.

  • bossyTeacher 4 days ago ago

    What a wonderful surprise! I had been thinking about a solution like this in the last year. I am curious what led everyone to this software? Is everyone else wary of the main commercial providers, privacy issues, getting locked out of your Apple/Google account, etc?

  • crossroadsguy 4 days ago ago

    I wish there were more hosted solutions for such FOSS tools. Just like the likes of Nextcloud and say borg, restic etc. It will make it FOSS accessible to people who do not want to self-host and it can then also be more accessible in terms of cost.

    • 4 days ago ago
      [deleted]
  • fourseventy 4 days ago ago

    I literally just migrated from Photoprism to Immich 4 days ago. Hopefully migrating to 2.0 isn't hard. Very happy with Immich though, its miles ahead of Photoprism and at this point the best choice for self hosting photos.

    • tuesdaynight 4 days ago ago

      I've tried to use Photoprism last year, but it didn't work great for me, so I was planning to move to Immich. It's nice to hear that it's miles ahead in your experience. Do you use the search by context feature? I mean, searching "yellow car" and getting pictures with yellow cars in them as response. My experience with Photoprism was horrible in that aspect.

    • honeycrispy 4 days ago ago

      > Hopefully migrating to 2.0 isn't hard.

      It's not. I did it in under a minute.

    • stavros 4 days ago ago

      There's no migration necessary really, you just pull the new version and that's it.

  • tom2948329494 5 days ago ago

    Love the CD design!

    A minor note: Nowhere in the release note do you say what the app is or what it does. Sure, I can find out by following the links, but coming in cold not knowing what immich is, I was kind of expecting to learn that in the write-up.

  • mmlkrx 5 days ago ago

    I've been eyeing Immich for an iCloud replacement for some time now, does anybody have practical experience of how it can be used with iOS as the default backup destination for the Photos app instead of iCloud?

    • mckjns 4 days ago ago

      Something I find it missing is two way sync. Meaning if you delete a photo that has already been backed up in Immich, from the standard Photos app, it will live on in Immich. So I guess the solution is to just use Immich as your default photo manager.

      If anyone knows of solutions to this I'd be curious!

    • armsaw 4 days ago ago

      I’ve disabled iCloud and use the PhotoSync app to move photos and videos from my phone to a file structure on my NAS, which Immich reads as an external library. Stable for over a year now - very happy with it.

    • illiac786 4 days ago ago

      I’ve done just that, it works.

      Searching does need some omph though, I will have to move it away from my poor little NAS at some point.

    • teekert 4 days ago ago

      I do that, I just enabled backups in the Immich app and there it goes.

  • cyberax 5 days ago ago

    Love it! I bought the supporter package a year ago.

    One thing that is missing for me is integration with external tools, maybe using a bit more flexible storage structure. And also smart geotagging.

  • jannesan 4 days ago ago

    Is Immich good at finding duplicates? And generally cleaning up a dump of photos? Or am I better off using Digikam for that before importing to Immich?

    • fourseventy 4 days ago ago

      It has pretty good duplicate detection in my experience.

    • illiac786 4 days ago ago

      The embedded duplicate detector is not bad, and there’s a third party one that relies on Immich api that is even better.

      • stavros 4 days ago ago

        You can't say that and not link!

    • derkades 4 days ago ago

      Czkwaka is another good tool for finding duplicate photos

  • bobcostas55 4 days ago ago

    I really like Immich, although recently their android app randomly decided to go out of sync with my library and stop backing up automatically :/

    • me_vinayakakv 4 days ago ago

      That happened to me yesterday and got solved on its own automatically.

      If it happens next time, will check app logs (Profile Icon > Logs) to see if it contains anything useful

  • KuhlMensch 2 days ago ago

    Recently set this up. Like others - very simple.

  • sylens 4 days ago ago

    Immich is fantastic. I’m just waiting on Worflows to replace Google Photo’s smart albums before I fully cut over

  • imiric 4 days ago ago

    Kudos to the team! It looks like a really polished product.

    I've been wanting to set it up at home for a while now, but I have some reservations...

    This type of fully featured open source software that competes with a service by a giant corporation with infinite resources is ripe for the typical OSS rugpull, and/or enshittification, and/or being acquired, followed by rugpull/enshittification. I've been burned many times by this before, and I'm reluctant to go all in on a product that demands so much practical investment: importing all my data, categorizing/labeling, using mobile apps, relying on "AI", etc. I'm tired of the modern software churn.

    Immich does have an optional commercial license, which is good, and it's part of the FUTO brand of products, which seems to have a noble vision. But it's an unproven model that doesn't guarantee none of the above will happen.

    In a weird way, I would like this type of software to be less polished and have less features. Both to make it less attractive for hostile practices, and to make development/maintenance easier and more cost-effective. Give me something that I can easily sync my photos to, view them in a web browser, and securely share them with close contacts. I don't need a Google Photos replacement. I need something simple that does a few things well, and that I can trust is not going to disappear on me. Is there such a product?

    I'm aware of apps like Nextcloud which probably does this, but that's even more complex than Immich. Currently I'm just using `rsync`, and a static file web server, but that's a pretty hacky solution. I would need just a bit more polish. I could probably do this myself, but already have a long list of unfinished projects I would like to get to first.

    • bo0tzz 4 days ago ago

      > ripe for the typical OSS rugpull

      Immich is AGPL-licensed and doesn't have a CLA, which makes it functionally impossible for us to do any kind of rugpull. We're already "aqcuired" by FUTO since a solid year ago[0] and it's only been up since then.

      > I don't need a Google Photos replacement.

      Then there are many other options in this space that might be better suited to you. [1] has a really good overview.

      [0]: https://immich.app/blog/immich-joins-futo

      [1]: https://meichthys.github.io/foss_photo_libraries/

      • imiric 4 days ago ago

        > Immich is AGPL-licensed and doesn't have a CLA, which makes it functionally impossible for us to do any kind of rugpull.

        More difficult, perhaps, but certainly not impossible. And there are many other ways the software can be functionally crippled without involving a license change.

        > We're already "aqcuired" by FUTO since a solid year ago[0] and it's only been up since then.

        Like I said, FUTO seems like a fair steward of OSS so far, but I have no reason to trust them long-term. It is funded by a single investor, which doesn't inspire confidence. That relationship may end at any point.

        To be fair, I am being overly cautious of what seems like an excellent project by any measure, especially compared to the alternatives. In my defense, I've been conditioned over the years to be wary of software that looks too good to be true, because it inevitably disappoints me, and to prefer simpler and even jankier software that doesn't promise the world, because it rarely does.

        Commercializing free software is a difficult and unsolved problem. I'm not against mandatory licenses to unlock features that only a few large/"enterprise" users would generally use. Or to have some sort of a tiered licensing system for more advanced features. This would go against your current philosophy of not locking any features behind a paywall, which is noble, but it also has the drawback of making payments entirely optional. It is essentially donationware, which is not a stable source of income.

        Also, subscriptions, as much as users don't like them, are really a requirement for this type of software. It pays for continual maintenance which wouldn't be covered by a single lifetime purchase. There are many ways this could be implemented that makes it fair for both the user and the developer.

        In any case, thanks for your work, and good luck with the project. And thanks for the link with alternatives.

  • nhumrich 4 days ago ago

    What are people using as backup solutions for immich?

    • philjohn 4 days ago ago

      Immich is running in ProxMox for me, and using an NFS mounted ZFS dataset (encrypted at rest as the rack is in the garage, unlocks on boot using clevis and tang).

      That ZFS dataset is backed up daily offsite using Restic + Rclone

      Immich LXC is backed up daily to Proxmox Backup Server 1, which syncs to Proxmox Backup Server 2, and also gets sent offsite.

      PostgreSQL is running in another LXC container, which also backs up to PBS and also offsite.

    • BirdieNZ 4 days ago ago

      Cron job with a bash script syncing media and the database to S3 Deep Archive once a day. Cheap as chips until you need to restore.

  • 4 days ago ago
    [deleted]
  • toastal 5 days ago ago

    [flagged]

    • mafro 4 days ago ago

      This comment feels like a troll.

      I'm sure you are aware that:

      - Most open source projects on the Internet are on Github. One could argue Github itself has taken a significant role in the growth of OSS in the last decade

      - Using Discord is totally du jour for open source communities in 2025

      - Reddit is still the biggest discussion forum on the Internet. Including discussion about open source

      • toastal 2 days ago ago

        Not a troll.

        The normal, uninitiated folk don’t know any better about their choices of technology & what that means for our private data & autonomy. We have seen this song & dance of getting locked into shitty platforms like Slack, but projects are repeating history when they know better. Why not just tell folks to use Google & Apple Photos or Facebook? If you can see the advantage of your FOSS project & how it protects users, the same should apply to your own tech choices. If you want to maintain broad appeal for some reason instead of actually introducing them to other FOSS tech that would also be good for user, it might be a bit hypocritical tho understandable to have these channels open, maybe even official—but to make these the only option? Not a gateway/bridge? No mirrors? No email to send patches? Not cool.

  • ctxc 4 days ago ago

    [flagged]

  • binaryturtle 4 days ago ago

    I read that announcement and I have zero idea what this "immich" app (?) is. How about adding some short introduction text explaining what the thing is for folks just discovering this thing via a HN link (w/o forcing them to click further or digging the information from somewhere else)?

    • d3vnull 4 days ago ago

      That post complaining about lack of context took longer than typping "immich" into duck duck go and reading the single sentence that pops up at the top describing exactly what immich is. ----------- Immich Immich is a project that lets you back up, organize, and manage your photos and videos on your own server. It is under active development and available under GNU AGPL v3 license.

    • denysvitali 4 days ago ago

      Google Photos alternative -> https://immich.app

  • avtolik 5 days ago ago

    I haven't heard of this app before, so I looked around their site and docs. I was mildly interested in trying it out until I saw the requirements: "A system with at least 4GB of RAM and 2 CPU cores.", but recommended 6 GB of RAM. Why does an image storage solution needs so much RAM?

    • darkwater 5 days ago ago

      Because it is written in Node, it uses several other softwares (i.e. Postgresql), it runs image/video processing on the fly (transcoding to various formats depending on what you upload and who views), it does face/object recognition running a local model and a few other nice features that yeah, require more power. It's not a static HTML of your photos.

    • tim-kt 5 days ago ago

      The last time I tried Immich (a year ago or so), my impression was that Immich tries to imitate Google Photos as much as possible. This includes features such as searching by a person or by "cat", which requires some machine learning sophistication, which is done locally (you can also disable these features). This would be my guess, but I'm not entirely sure.

    • d3vnull 5 days ago ago

      Because it's not just an "image storage solution". A thumb drive would be an image storage solution. If you're indexing, making geo queries, serving over the network, categorize, transcode video and everything else that's needed to create a google photos competitor, you're going to need the hardware to back it up.

    • fifafu 5 days ago ago

      If you just need an image storage solution: no, but then you don't need Immich. If you want the feature Immich offers: yes

    • abdusco 5 days ago ago

      You can turn off AI features. You won't need as much RAM, then.

    • frenkel 5 days ago ago

      Because it wants to recognize objects in you images.

    • dangus 4 days ago ago

      I hope you slept well in your cryo-chamber, Austin Powers. It’s the year 2025, 6GB of RAM is not a lot. A stick of 32GB of RAM costs about $50. Most simple telephones come with 8GB of RAM.

      • izacus 2 days ago ago

        Synology Photos runs on NASes with 2GB still.

      • eviks 4 days ago ago

        Are you going to host this app on a simple telephone?

        • dangus 4 days ago ago

          You get my point. It shouldn’t come as a surprise that replacing a massively scaled $100+/year photo/video hosting service offered by the biggest multinational companies in the world will consume compute resources.

          You are either consuming your own server’s resources or you’re paying Apple/Google/someone else to handle it for you.

          • eviks 3 days ago ago

            Your mistaken point is easy to get, but you don't get the counter argument that the relevant pricing here is that of, for example, VPS, which haven't scaled as much in memory availability as your cited consumer examples, so the constraints are still there.

            > will consume compute resources

            This is an empty statement, the argument here is about the amount of resources and how it relates to the underlying technology.

            And all this "biggest multinational scale" is just as meaningless, no specific resource requirement follows from that (maybe a big part of that $100 is exactly because of "big multi scale")

            > News flash, when you query ChatGPT,

            News flash, this is not chatGPT. Another news is that different models have very different memory requirements. Also, do you know that those requirements are only due to the models?

            So again, your example doesn't help provide any justification.

          • izacus 2 days ago ago

            It comes as a surprise because there's products that do the same with massively lower resources.

    • diimdeep 4 days ago ago

      It is ridiculous bloat of "high level technobabble"

          npm install for web/ server/ 
          % cloc .
          81808 text files.
          51415 unique files. 
          Language                             files          blank        comment           code
          ---------------------------------------------------------------------------------------
          JavaScript                           25050         453101         913671        4436663
          TypeScript                           14997          85346         630503         831318
          JSON                                  2238            168              0         457435
          Perl                                   233          10541          34463         293957
          Markdown                              1977          89859           1551         234399
          Dart                                  1257          24152          14748         229937
          Svelte                                 678           5917            190          51223
          HTML                                   128          16361             90          31719
          ... 
          ---------------------------------------------------------------------------------------
          SUM:                                 51415         713200        1617503        6726009
      
      In comparison, qemu does emulation of literally every hardware that there is and it is only 1/3 more code, and it is without counting code required to run nodejs, docker, postgresql, redis that is dependencies of this image catalogue software.

          qemu-10.1.0 % cloc .
          58961 text files.
          43347 unique files. 
          Language                             files          blank        comment           code
          ---------------------------------------------------------------------------------------
          C                                    18063        1068616        1312988        5590243
          C/C++ Header                         13980         366138         907350        1774239
          Assembly                              1370          42839          55872         320027
          Python                                1345          67483          89294         255732
          SUM:                                 43347        1789003        2759752        9220521
          ---------------------------------------------------------------------------------------
      • d3vnull 4 days ago ago

        QEMU has been in development for decades.

        I'll take the high level language developed solution that I can use now over a low level language version that would reach feature parity with this 10 years from now.

        Speed of development is a feature.

      • bo0tzz 4 days ago ago

        You're counting a lot of generated code.