I'm keen to use it as soon as the dependency story is mature (eg. it is packaged in Debian). This doesn't seem likely to happen any time soon.
I'm sure many people won't care about this. But for me, it's a measure of quality. I expect to be able to deploy and not worry about it, except for security updates, for at least a couple of years, preferably more. Constantly moving dependencies spidering out to a multitude of other projects, and Docker Compose, provide no such confidence.
Edit:
Ironically, just after posting that I came across this, which I think proves why my concern is warranted: https://news.ycombinator.com/item?id=45169657
Debian isn't immune to this, but it's much harder for such an attack to be successful when dependencies aren't constantly changing.
> Debian isn't immune to this, but it's much harder for such an attack to be successful when dependencies aren't constantly changing.
Immich is more immune to this issue because they wait 5 days before raising PRs to bump dependencies, which is a good practice https://github.com/immich-app/.github/blob/main/renovate-con...
A stable release is only a couple months out. Maybe do a Takeout until then, and put it in S3 Glacier, or similar?
That said, this is far better than my own non-existent image server.
For me a measure of quality is the rendered HTML code, which should use all the content sectioning elements and not be bloated with gazillions of divs and classes. This software is well off the pace in this regard.
and if you're serious, k8s config. otherwise don't waste my time.
Immich is an excellent piece of software, I have switch all my photo needs from over 25 years to it. It will mature and it actually already is. Don't hold yourself back with such practicalities.
Also, Docker-compose is pretty great in terms of getting complex applications up and running.
The other thing I'm waiting for is search results ordered by date instead of relevance. When I'm searching for a picture in particular I know was taken 3 years ago, and search keywords to find it, it's impossible to find this specific photo because the ordering seem random
The startup of the Activity is VERY slow. Images are rendered one by one in the list view (potentially in full resolution?) and the scrolling in the list is quite slow. The upload button does not keep the "uploading" state but after some time jumps back to the initial "start upload" state. Going into background or turning the screen off sometimes stops the upload. This test was done on my Samsung S23 Ultra (so CPU power should not be the issue).
Nevertheless the upload works as expected if I stay in the app and keep the screen active. Seems like this is not really the intended way of uploading things to Immich (auto upload is).
Interesting, would you mind elaborating on how you do that? I take it you have your backup key stored on your home server then? What tool do you use to decrypt & parse the backup?
It has been hosting my SO's and my photos for a few months, the transition from Google Photos was pretty easy and it is almost a drop in replacement. I love it.
Make sure to checkout https://github.com/simulot/immich-go, it was a great help migrating my Google Takeout to Immich.
But Immich is a great app, minimal to no fuss setting it up in a container on my NAS. My only potentially unfounded concern is when I upgrade the images. They changed the different component containers images over time, sometime with breaking changes. So I always half expect that an upgrade will screw up the setup and I’ll have to start from scratch with the indexing.
If I need to connect to another VPN or need to access some geo restricted page, then I need to disconnect tailscale.
Otherwise it's great, but I'm not sure I could convince my wife to use it.
I was also thinking about just reverse proxying my local instance to some public domain. But currently do not trust immich to be safe enough to allow for public exposure.
That minimizes battery impact. This missus hasn't complained. Yet.
I've looked into cloud hosting. But of course, photos and videos take up a lot of space. Object storage is cheap but not supported by Immich. Block storage is not cheap.
I did look into s3fuse but the concensus seemed to be that lots of tiny files like thumbnails wouldn't perform well.
Does anyone cloud host it? What's your solution?
* might just be thumbnails. But lets be honest- a 1/10 scale thumbnail of 40MP shot is... still a ton of detail.
I'm presuming some VPS providers allow converting your VPS disk image to something that supports encryption.
I presume gocryptfs can be used to wrap an SMB mounted Hetzner storage box. Haven’t tried it myself though.
I would be careful storing any personal data on it unencrypted.
Just use rclone if you need to turn object storage semantics usage into an encrypted mount.
It doesn't do well with non-object-storage access patterns but we're not putting an sqlite database on it here so that should be fine.
rclone has a `crypt` layer you can just paper over any of it's backends and still access through any of it's comfortable ways.
I'd personally likely bind mount the database folder over the rclone mount or the other way around, as needed to keep that database on a local filesystem.
> NOTE: I found it too expensive in S3 requests and CloudTrail data recordings to use S3 as the backend.
https://github.com/dubrowin/Immich-backed-by-S3
They used aws's own mountpoint for this. Perhaps s3fs with it's caching could do better? Ideally someone would make an object store fuse driver that caches the whole file tree & metadata, or perhaps storing on slatedb or some such. Being able to tune the local file cache would also be important: maybe maybe maybe s3fuse caching is good enough, but making sure thumbnails can cache seems super important. It would be interesting to see how immich uses the filesystem.
A small UPS that can communicate its power state over USB isn't too expensive. So if power goes out, it sends a message to its host that it should shutdown after a certain amount of time and then when power restores, it turns the server back on. I can understand the desire to not have to manage all that though.
Videos take up a lot of space. Photos increasingly don't. 20 years of family photos for me takes up 150GB, and that's with me being very slovenly about cleaning up the "bad" photos, if I found a decent workflow for trimming photos I could probably cut that down by 75% pretty easily. Linode will attach 160GB of storage for $16/month, plus you'd need a $5/month VM to attach that to. https://www.linode.com/pricing/#block-storage
I acknowledge that you may be in a position where that is too much, but on the other hand, broadly speaking, it's not going to get much cheaper than this even in the next few years. It's not like it's $500/month anymore and there's room for it to be cut by $300/month.
Immich can also survive without necessarily being up all the time. If you have a computer of any kind and any reasonable spec that spends a reasonable amount of time being on, you can use tailscale or something to hook it to your phone and run a backup process every so often to a cloud block storage. It's OK that it isn't always up and then you get to pay object storage prices, which for 150GB now is as close to negligible as you can reasonably get.
The hardware isn't that much to manage anymore these days, a small usff uses very little electricity, can stay up for a few hours on a UPS.
Tools like Proxmox make it point and click like any cloud provider within reason.
Also, as opportunities arise like for example from a major upgrade to local storage capacity, try to fully test a backup restore emulated to "your home burned to the ground while you were at the office/on holiday" conditions every 1~3 years if you can afford to spend the bandwidth for it.
Consider burning in drives for a group-buy you do with local friends if necessary to at least get such a full restore trial every about 3 years. Try as best to consider a trial every about 5 years to be a "cost of doing business" that's not just nice to have but essential to the value proposition of the data archive storing home server.
Oh and yeah, I fully mean to let the drives go to sleep when you're not accessing them through "manual"/interactive means (exceptions are limited-time background queued work with a set override timer, and the daily backup runs, which will also unlock the drives from their regular sleep-doesn't-get-interrupted-for-no-good-reason enforcement; ofc this is all something you do only if you can and feel like you want to: just hunting down rouge accesses/wake-ups happening at odd times by setting up some minor logging of which programs/files/accesses (or at the very least _when exactly_) are causing the drives to wake up is something you could very well get away with). Also take care to ensure they get good airflow: stack them with gaps between and ideally just take a decent but low-cost 120mm fan that you just hook to 5V from USB (if you don't have a fan header laying around) and rig with some cardboard and tape to channel air across your drives. The drives want to be around 30~45 C, consider hooking the smart temperature readout to a kill switch in case of fan failure.
Out of compute, storage, database, networking, etc, which is most preferable to be just an appliance?
It's pretty reasonable to get reliable storage self-hosted without the headache. If a big setup isn't needed, it's reasonably attractive to set up your own storage with reasonable power draw, which can be kept up with more reasonable UPS'.
Just because one can build and run a storage array on their own, doesn't mean it would be the best allcoation of their ongoing attention to maintain and be on call for a daycare for hard drives.
If seamless storage as good (and sometimes better) than a cloud is the minimum, it has to be something trustable, and run like a reliable home appliance needing minimum maintenance.
Lots of folk choose NAS enclosures that have raid mirroring and hot-swap drives built in quite inexpensively using things like Synology or QNAPs. The web admin interfaces on them are reasonable, and it's trivial to poke along with a youtube video to setup a RAID 5-10, and send email notifications how you like if it wanted to bring something to your attention.
Other things that become way more valuable over the years:
- NAS can be configured to backup offsite to the cloud backup of your choice, or another NAS. I know folks running them for 5-10 years and never think about it. Decent NAS with appropriate drives, secured of course. Some people even mail the enclosure to a datacenter and have them plug it in and keep it online.
- If you get a reasonably basic NAS with an intel Celeron CPU, power usage can remain low, but ram can be upgraded on it to run a few services as needed on it, both directly, and as docker images. It's pretty wild.
- If you do consider it, my recommendation is to pick one that has 2 extra drive slots than you need, and start from there. People who buy two bays can outgrow them quick, plus it's only a mirrored raid between two drives. Raid 5 and higher is great, if one drive is starting to have issues, you can just swap it while it's all running and the storage will heal.
Hope that helps. Having data close to crunch can be valuable.
Immich looked really nice but in the end I went with Ente because of its E2E encryption. So far I'm really happy!
The backing Minio store is on a VPS to keep it off-prem. The rest (front end UI etc) I host in my home and use the same VPS as a reverse proxy.
Right now I don't share with anyone else, but use it to get photos sync'd off my phone and shared with my own desktop/tablets.
I'm sticking with it and my family is interested in using as part of degoogle'ing. So I eventually will pay for it for a way to better share photo albums (i.e. too many photos to just share over Signal).
My gut feeling says that it's the Android client[0], but I'll have to find the time to look into this more closely.
1 year ago: https://news.ycombinator.com/item?id=40563541
1 year ago: https://news.ycombinator.com/item?id=40772809
3 years ago: https://news.ycombinator.com/item?id=33159796
7 months ago: https://news.ycombinator.com/item?id=42984617
4 years ago: https://news.ycombinator.com/item?id=30537564
1 year ago: https://news.ycombinator.com/item?id=39731179
Immich Progress Update [July 2024] - https://news.ycombinator.com/item?id=40859102 - July 2024 (5 comments)
Immich – Self-hosted photo and video management solution - https://news.ycombinator.com/item?id=40563541 - June 2024 (5 comments)
AGPL Self-hosted photo and video management solution (Docker + iOS/Android) - https://news.ycombinator.com/item?id=40030151 - April 2024 (3 comments)
Immich is changing its license from MIT to AGPLv3 - https://news.ycombinator.com/item?id=39336890 - Feb 2024 (46 comments)
Self-hosted photo and video backups directly from your mobile phone - https://news.ycombinator.com/item?id=36673224 - July 2023 (344 comments)
Immich: Self-hosted photos and videos backup for Android and iOS - https://news.ycombinator.com/item?id=33159796 - Oct 2022 (1 comment)
https://videohubapp.com/ and it's open source: https://github.com/whyboris/Video-Hub-App
https://github.com/whyboris/Video-Hub-App/blob/main/interfac...
Embedded player would require making a tremendous number of design options: where does it reside in the interface, what does it cover up when open? and if it can pop out as a separate window, what value does it bring over an external player?
I've been very pleased using immich for about a year now.
https://medium.com/@javipas/thats-how-i-ve-replaced-google-p...
Feature wise I think they are pretty comparable (vs the paid version of Photoprism), and I like the UI of Immich slightly more. Immich also supports singe sign on via OIDC easily, which I rather appreciate so my family doesn't have to remember 10 different passwords.
Regarding stability it's actually pretty reliable. I've been running it for a long time via Docker in the form of the TrueNAS plugin and have never had any issues, like ever, so I think it being marked as unstable was a bit overly cautious. I think they have also recently moved to a new phase of development that is also going to be even more stable. Even if it does break, all of your media is stored in a nicely organized directory structure on the filesystem so you're not going to lose anything.
It didn't, that's just a timing coincidence. Immich was started because none of the existing projects offered the google photos-like experience.
Photoprism didn't support profiles or have an app (back then at least, don't know about today), and I couldn't convince her of using some other gallery in the browser...
I for myself liked the Photoprism GUI, but I could never get the face recognition to work well, and manually tagging people/places (or basically doing anything) on thousands of pictures was quite painful.
One thing Immich supports which Photoprism doesn't is multiple user accounts. That doesn't really bother me too much but it's a pretty big advantage.
Edit: Actually one thing I can complain a bit about is the object recognition accuracy. Face recognition I think works decently enough but objects are frequently not identified in my photos. How's Immich in this regard?
- There was no good mobile backup story. State-of-the-art was WebDAV sync and import delays which would truncate files and other issues on back connections. It also made deletion risky.
- The UI had lots of things that felt very opinionated for a very specific workflow that seems niche. Things like auto-adding generated titles and other things.
- The face recognition is much worse, especially for non-white faces. Even detection didn't seem to have a good setting that would reliably identify what is a face without way too many false positives.
- Immich's semantic image search is way better than what was on PhotoPrism where it seemed to just find a few tags.
- PhotoPrism had lots of UI quirks like the persistent selection that almost never worked how I wanted it to.
Lots of other odds and ends as well. There isn't anything that I actually miss from PhotoPrism.
Both still feels like the sad-er side of open-source WRT polish - stability, reliability and ease-of-use.
I would be willing to pay for something great that I can self-host, but sadly nothing truly great exists.
However I’m wondering how Immich compares it seems less interested in the encryption security and sharing aspects and more heavy on the image editor aspect.
Both are selfhostable. So it maybe an effort to migrate one day.
Immich has been absolutely awesome for this — I can finally look at all my pictures from any year from anywhere in the world. I’m very happy and hope the creators find a way to sustainably finance the project.
The upload feature in the mobile app is not a 1 to 1 replacement of apple photos import so i still do that via apple photos, but that’s something I can live with.
Some would say it's deliberately made to keep the library cluttered so you have to pay more for cloud storage.
Why Are Our Photo Libraries Such a MESS? (Ben Vallack) https://www.youtube.com/watch?v=HsYeVWyNxaY
I've had it running for a year and have fearlessly and immediately updated. Never messed anything up, somewhat remarkably.
I showed Immich to my partner and they loved it so much that we've ordered significantly more storage for the server to accommodate it. We're currently using both Google Photos and OneDrive, but with this we'll be ditching OneDrive and filling that niche with Immich (as well as expanded network storage in general).
The website and documentation is super clear about not using it as the only source of photos. This is why we'll keep using Google Photos, and why I'll also be backing up Immich and portions of the network storage to B2 via restic. I've used this snapshotting pattern for my general server data for years, and it's even saved me a couple of times. Backups are something you hope to never need to use, but boy are they satisfying when you do need to use them and have them set up properly!
The other issue is my family use my account and don't want to be in charge if my backups fail.
I do love what immich is doing though and would love to run it.
But - seems great. I was prompted to do this after the death of a friend and the subsequent hunt for photos, so I’m hoping the facial recognition lives up to its billing.
I don’t really like having the NAS on 24/7 but I do like the idea of having that local photo sync. Probably cheaper to start with iCloud given the costs of 20TB drives and energy prices, however.
However, I'm back to Synology Photos. I'm using Immich iOS apps. The upload/syncing is noticeably a lot slower than Synology. Gave it a few months, but it's not getting any better. Moved back to Synology Photos for now.
My Immich server performs a nightly backup to a 2tb flash drive labelled "PHOTOS" attached to the router. My partner knows where it is and what it's for, and everyone knows how to use a flash drive.
My server sends me notifications for every update with the rsync output so I'll know if any problems arise while I'm around. The last drive in this position lasted 4 years without incident, and I only replaced it earlier this year because it was full.
I’m trying to archive, document and make accessible family photos, but fear any work I do organizing information in immich may as well be throwing it into black hole.
I back up the complete Immich filesystem and database, and include a docker-compose.yml, so if it was handed to someone technically inclined they'd have all that.
[EDIT]: the following was intended as a reply to https://news.ycombinator.com/item?id=45168333
I understand the author's point against the perceived complexity of 1-5 star rating systems, but it's worthy of note that star ratings are extremely common (ubiquitous?) in more advanced photo management/editing software such as Darktable and Lightroom. As a photographer, I see why the feature might have been included.
It runs great.
The “beta timeline” required hashing that took forever but this was on my wife’s iPhone and nothing to do with the back-end (she has 50,000 photos).
The machine-learning stuff uses the GPU. Facial recognition for example. It takes longer on low-end hardware but I am not sure why that is a problem.
I have gone for days in rage because Google photos would hog on memory and I had no folder view to know which pictures/videos were the culprit and I wouldn't get a folder view. If this works, I might spend some time working on this project, just to pay my regards.
Also, the first two links Documentation and About both point to the same place.
Has anyone switched from NC Photos -> Immich and have any thoughts on the process (and how well Immich plays with NC if I keep my photos stored there)?
[1] https://github.com/immich-app/immich/pull/18763/commits/fe7a...
Regardless of where you're coming from I recommend migrating to Immich by "uploading" all your photos using the immich cli, and letting it manage the library.
You could get a NAS from TerraMaster and swap the OS for TruNAS Scale or Unraid. They're relatively reasonable for the hardware, you can also DIY the hardware but that brings in other issues. Got an F4-424 Pro for a backup NAS myself. Worth noting a few big drives will cost you more than the other hardware though. 12TB was the pricing sweet spot when I got mine.
https://github.com/immich-app/immich/discussions/8377
The way that semantic search works, they don't cap a relevance score (since it's all relative), and they don't allow you to sort through some kind of time index either.
1. I've got 25 years of photos and video that I originally organized by folder (date + title of contents) but got very unwieldy once my wife and I both got smartphones back in mid-late-00's -- this archive has lived on external HDDs (spinning disk) and copied to new ones as capacities increased. In early-mid 2010's I got 2TB with Google and uploaded to Google Photos; it was great, but neither of us ever really utilized it, so I was just paying for cloud backup.
2. I am old-ish, have no concept of "home lab" (because everybody who had one or more computers and messed around with computers basically had what's now called home lab), and tend to keep/repurpose tech that goes out of service -- I've always hosted where it was appropriate (home, colo, cloud, whatever), and always have run many devices in a closet. Given the ~1TB of personal media, it was inevitable that I'd want some kind of self-run solution if only for speed + physical access.
3. I liked Google Photos interface; getting out of it was impossible. Add in 15+ years of unorganized iPhone photo/video backups (pulled out via iExplorer and other apps) in real folders on a real hard drive, and it really was a godsend in starting with a "normal" (yet dysfunctional) archive of original content. Once I set up Immich, I was able to upload all of it and at the bare minimum have a year/month-organized archive of stuff, written to an enterprise HDD (while keeping the old source hard drive(s)). The iOS app is pretty good (way more performant now with the beta timeline) and the CLI + API are great.
4. I have an Ubuntu server in the dusty closet; decent little piece of crap 8-core / 32gb that runs some websites and services. That's where I installed a refurb 12TB drive and Immich. I had an HP Z420 with 128gb ram that was my workstation for a few years, I upgraded to a Z640 dual-xeon with 256gb, and just had the old stuff sitting around -- I installed TrueNAS on that and threw in a bunch of cheap Ironwolf drives, set up a ZFS pool, run Immich on the Ubuntu box and then Syncthing all of it to the NAS for duplication. I recognize that having a bunch of equipment around is a luxury and a privilege, but I'm also a cheap POS and buy everything used/off-lease/refurbished/eBay/etc, and reuse what I can as it gets upgraded. That said, you can get massive local storage and compute if you look around, be patient, and don't impulse-buy.
5. Since Immich predated the NAS and I'm still running it on the Ubuntu box versus in a TrueNAS container, upgrades are less turnkey; for instance, I let mine sit idle from 1.29x to 1.41x, and there were three breaking upgrades in between. It took some fiddling and staggered upgrading on command line to get from where I was all the way to latest; I experienced no data loss though, everything moved over, but it wasn't one-click/one-command. Syncthing backups from machine A to B aren't exactly invisible either, because if A shits the bed it would probably corrupt B, and even if it didn't, while I do have the files duplicated, I'd have to more or less replicate the original install and copy the files from B->A to get the interface running again.
6. The mobile app + features are very seamless and good at this point; my wife hates computers but can find what she needs on her phone super easily. And the beta timeline is very performant with regards to handling a quarter million photos and videos. I haven't fully vetted the latest app-initiated from-phone automated backups, but did notice mine were flowing from my phone to server without even realizing it. That helps a LOT with the inevitable couple-times-a-decade phone upgrade since the main "backup bottleneck" is getting all that personal media out of there. The rest just goes easily with iCloud backups and device-to-device restorations.
7. I don't back any of this up to cloud; I thought about maybe Backblaze or something, but haven't pulled the trigger on anything. Syncing to and restoring from sounds like a nightmare. Since 1998 I think I've only had 2 or 3 drives actually die on me; one was recently (the NOT important one) which prompted the TrueNAS box. I ended up with multiple 2xMIRROR pairs striped in a VDEV pool and feel pretty OK about that for now, which the Immich archive also syncs to. End of the day, anything is better than being imprisoned by Google Photos or iCloud Photos.
8. I also don't expose any of this stuff to the internet; outside of the home network, we have to VPN in to get access. Also don't have external contributors or anything. YMMV because I know a lot of people like to share out to family, or set extended family up to archive with them.
End of the day, fiddly upgrade annoyances aside, it's the only Franken-solution I've found thus far that gives easy access to a giant archive, and spreads itself out enough to where I'm not terrified of losing everything. Really well-done stuff!
I actually ended up building something like immich just a bit more halfbaked for our home use, that could take the whole /MobileSync iOS backup and pull out anything that looks like a photo or video. That way our workflow was, back up the phone in iTunes, let the app process the MobileSync backup, confirm they are visible, and hit the delete all button on the phone. Rinse, repeat. The storage was on a beige box with a couple mirrored drives.
At this point the collection is about a terabyte, which is not extreme by modern home lab standards. My main remaining concern at this point is that the file system is just plain ext4. Even though I mirror the collection on a regular schedule, more and more I am wondering if there is a chance of bitrot since as far as I know none if it is checksumed. I would love a solution that periodically scans objects on the file system. I would love to have an easy way to tell which of the copies is the corrupted one, since with two copies in my case I can't take the majority.
p.s. and I guess one question for you, do you think I would benefit from switching to immich for part of this workflow? I'm thinking I can't just throw raw iOS backups at it so maybe I need a bit of preprocessing there, but otherwise let it take over the cataloging and just keep the underlying storage backed up.
Files get hashed before upload to avoid duplication, so I would imagine that this would also be fine to use in tandem with the mobile app; the app pushes stuff out as it's designed to do, whenever it does it, but then if you upload from a manual backup as well, it would only ingest stuff that's not already in the archive.
[0] https://immich.app/docs/features/command-line-interface/#qui...
Then, go into the design folder of the repo and replace all the images with whatever logo names you want.