Posted by rzk 5 days ago
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?
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.
and if you're serious, k8s config. otherwise don't waste my time.
Also, Docker-compose is pretty great in terms of getting complex applications up and running.
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.
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.
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.
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.
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.
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.
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.
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.
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.
> 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.
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.
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.