NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Immich v2.0.0 – First stable release (github.com)
jaredlt 2 days 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 2 days 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 2 days 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 1 days 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 1 days 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 21 hours 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 4 hours 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 hours 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.

Sammi 1 days 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 1 days 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 2 days 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 2 days 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 1 days ago [-]
This user makes money of off how many downloads their packages receive.

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

greggsy 1 days 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 2 days ago [-]
Seems like this thread answers your question https://news.ycombinator.com/item?id=37604373
whilenot-dev 2 days 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 2 days 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 2 days 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)

MrJohz 2 days 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...

tigeroil 2 days 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.
perching_aix 2 days 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 1 days 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 1 days 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 1 days 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 2 days ago [-]
I love it. Immediately added to my daily note-taking practice
senectus1 2 days ago [-]
the "personality" of this team is just such a joy...
perching_aix 1 days ago [-]
Are you being sarcastic or just an ellipsis (…) abuser? If the former, what for?
teekert 2 days 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 1 days 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 2 days 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 1 days 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 1 days 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 1 days 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 1 days ago [-]
I just had it store images in "photos/YYYY/MM/" when I set it up and that was it.
poisonborz 2 days 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.
sharperguy 2 days 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 2 days 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

oblio 2 days 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 2 days 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.

1 days ago [-]
stavros 2 days 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.

Barbing 2 days 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 2 days 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 1 days 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)

stavros 1 days ago [-]
Well shit, you're right!

https://imgz.org/iiAgNmEJ.jpg

I didn't know it was that good! Wow.

jadbox 1 days 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 21 hours 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 1 days ago [-]
I've stopped using YouTube and run a bi-yearly Google Takeout (and wipe).

https://takeout.google.com/

tecleandor 2 days ago [-]
OMG, I'm so sorry for that. That's terrible.
Barbing 21 hours ago [-]
oof a hypothetical my bad! ( https://news.ycombinator.com/item?id=45458560 )
ignoramous 2 days 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.

blacklion 1 days 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 1 days 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 1 days 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 1 days ago [-]
Me too. I've been wanting this with immich.
stavros 1 days 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 1 days 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 1 days 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 1 days ago [-]
No search feature?
kkukshtel 1 days 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?

EvanAnderson 1 days 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 1 days ago [-]
Ghost or Wordpress as your CMS and a Photography focused "theme".
victorbjorklund 1 days 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 1 days 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 1 days 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 1 days ago [-]
Have you considered a blog? You could probably realize your vision with Wordpress pretty easily.
aDyslecticCrow 1 days ago [-]
Eehm. Wordpress? Your requirements sounds like a normal personal portfolio website.
blacklion 1 days 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 1 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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/

Chilko 21 hours 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.
felixthehat 2 days 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 2 days 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 2 days ago [-]
>self-hosted directory-first photo gallery website

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

kkukshtel 1 days ago [-]
CaptureOne is the go to thing you want here. It's the best.
addend 2 days 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).

darkamaul 2 days 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 1 days 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 1 days 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 1 days ago [-]
Huh. So why increase the major version? Does Immich not use semantic versioning?
ratrocket 1 days 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 1 days 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 2 days 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 1 days 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 2 days 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 2 days 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.
dpacmittal 2 days 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 1 days ago [-]
It makes regular database dumps to library/backups/*.sql.gz so I think backing up the library directory is enough?
rootnod3 2 days ago [-]
Really wanna try it out, but will have to see if and how I can build/install it manually on FreeBSD.
dsego 2 days 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 2 days 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 18 hours ago [-]
Can you pls share the paths of folders to be backed up?, especially the raw image files
InsideOutSanta 13 hours 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.

darkest_ruby 6 hours ago [-]
Thank you, that's very useful
teekert 2 days 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 2 days 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 2 days ago [-]
Out of curiosity, have you bought the "supporter" upgrade?
magicalhippo 2 days 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 2 days 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.
fourseventy 1 days 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 1 days 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 1 days ago [-]
> Hopefully migrating to 2.0 isn't hard.

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

stavros 1 days ago [-]
There's no migration necessary really, you just pull the new version and that's it.
crossroadsguy 2 days 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.
1 days ago [-]
tom2948329494 2 days 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 2 days 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 1 days 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 1 days 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 1 days 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 2 days ago [-]
I do that, I just enabled backups in the Immich app and there it goes.
jannesan 1 days 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 1 days ago [-]
It has pretty good duplicate detection in my experience.
illiac786 1 days 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 1 days ago [-]
You can't say that and not link!
derkades 1 days ago [-]
Czkwaka is another good tool for finding duplicate photos
bobcostas55 2 days 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 1 days 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

sylens 2 days ago [-]
Immich is fantastic. I’m just waiting on Worflows to replace Google Photo’s smart albums before I fully cut over
nhumrich 1 days ago [-]
What are people using as backup solutions for immich?
philjohn 1 days 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 19 hours 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.
drekipus 2 days 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 1 days ago [-]
Isn’t that a simple shared album with upload permissions for everyone? Immich has that, yes.
1 days ago [-]
bossyTeacher 2 days 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?
cyberax 2 days 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.

imiric 2 days 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 2 days 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 2 days 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.

toastal 2 days ago [-]
[flagged]
mafro 2 days 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

ctxc 1 days ago [-]
[flagged]
binaryturtle 2 days 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 24 hours 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 1 days ago [-]
Google Photos alternative -> https://immich.app
avtolik 2 days 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 2 days 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 2 days 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 2 days 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 2 days 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 2 days ago [-]
You can turn off AI features. You won't need as much RAM, then.
frenkel 2 days ago [-]
Because it wants to recognize objects in you images.
dangus 1 days 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.
eviks 21 hours ago [-]
Are you going to host this app on a simple telephone?
dangus 14 hours 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 14 hours 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.

diimdeep 1 days 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 24 hours 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 1 days ago [-]
You're counting a lot of generated code.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 23:56:57 GMT+0000 (Coordinated Universal Time) with Vercel.