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?
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.
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.
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).
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.
> 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
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).
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:
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.
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.
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.
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).
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.
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.
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.
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.
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?
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.
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.
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.
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.
>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
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.
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.
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
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.
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.
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
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.
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”.
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.
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.
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.
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.
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.
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.
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?
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.
[+] [-] jaredlt|5 months ago|reply
> Cursed knowledge we have learned as a result of building Immich that we wish we never knew
[+] [-] darkwater|5 months ago|reply
[+] [-] whilenot-dev|5 months ago|reply
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...
[+] [-] daemonologist|5 months ago|reply
[+] [-] kmarc|5 months ago|reply
[+] [-] senectus1|5 months ago|reply
[+] [-] teekert|5 months ago|reply
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
[+] [-] sonar_un|5 months ago|reply
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|5 months ago|reply
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/
[+] [-] oblio|5 months ago|reply
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.
[+] [-] poisonborz|5 months ago|reply
[+] [-] unknown|5 months ago|reply
[deleted]
[+] [-] sharperguy|5 months ago|reply
[+] [-] stavros|5 months ago|reply
After stopping for years because it was hard to view them easily, I'm finally taking photos again because of Immich.
[+] [-] addend|5 months ago|reply
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).
[+] [-] sagacity|5 months ago|reply
[+] [-] darkwater|5 months ago|reply
[+] [-] blacklion|5 months ago|reply
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|5 months ago|reply
Check out the sample gallery: https://immich-demo.note.sx/share/gJfs8l4LcJJrBUpjhMnDoKXFt1...
[+] [-] kkukshtel|5 months ago|reply
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|5 months ago|reply
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|5 months ago|reply
[+] [-] iv11|5 months ago|reply
[+] [-] victorbjorklund|5 months ago|reply
[+] [-] mstngl|5 months ago|reply
[1] https://www.io200.com/
[2] https://www.koken.me/
[+] [-] WD-42|5 months ago|reply
[+] [-] aDyslecticCrow|5 months ago|reply
[+] [-] jasonfrost|5 months ago|reply
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
[+] [-] haunter|5 months ago|reply
> 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|5 months ago|reply
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|5 months ago|reply
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|5 months ago|reply
https://www.gyford.com/phil/writing/2025/09/27/escaping-ligh...
[+] [-] ghgr|5 months ago|reply
[+] [-] Chilko|5 months ago|reply
[+] [-] kkukshtel|5 months ago|reply
[+] [-] darkamaul|5 months ago|reply
My only minor complaint is that new releases are super frequent and rarely add anything meaningful.
[+] [-] codethief|5 months ago|reply
[+] [-] Vinnl|5 months ago|reply
> 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|5 months ago|reply
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 months ago|reply
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
[+] [-] drekipus|5 months ago|reply
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|5 months ago|reply
[+] [-] rootnod3|5 months ago|reply
[+] [-] dpacmittal|5 months ago|reply
[+] [-] dsego|5 months ago|reply
Not sure what to say, could be a very very rare edge case, but it's not very reassuring.
[+] [-] yesnomaybe|5 months ago|reply
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.
[+] [-] magicalhippo|5 months ago|reply
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|5 months ago|reply
[+] [-] bossyTeacher|5 months ago|reply
[+] [-] crossroadsguy|5 months ago|reply