Self-Hosted 110: Google Photos Replacement [audio]
selfhosted.show
selfhosted.show
I started using Immich just this week and am very impressed by the amount of features built-in and everything just works. It really is a full-on replacement for google photos which is amazing. Even advanced features like face-detection using AI and partner sharing are there.
Shout-out also to immich-go [1] which is a cli tool that allowed me to migrate hundred of gigabytes of photos from a google takeout backup flawlessly.
I'm not confident that warning you about a catastrophe that's a handful of large emails away is a "dark pattern".
It's annoying that they've tied those two things together, but I wouldn't call it dark.
But I have 10 GB free, and I still get nagged. Annoying.
One could argue that they are telling the truth about whether or not they ever look at your data and keep it encrypted and this and that and the other, but the simple fact is that unless it is open source or audited multiple times by independent third parties, there is no way to confirm that all of your data actually is private.
However, most people are beginning to realize that because of the overreach that all of these different tech mega corporations have, it is almost impossible to stay private, even if you do sacrifice your products for more private, generally less feature rich ones. A good example is proton mail: it is a great email service, it is truly private, but you also don't get a lot of the really nice features that Google has, like an actually good suite of integration with meetings, calendar appointments, shipping tracking, reminders, file sharing, the works.
There is a trade-off, and a lot of the tech focused people believe that the lack of features warrants the more privacy, so it is really a difference of ideology more than anything.
Of course, what that actually means in practice is that I should just regularly archive.
On the other hand, I trust google's ability to store my data more than some homebrewed app.
As usual, the best solution will vary, but will always include secure offsite backups.
If the answers are okay today, will they stay good next year?
Is there a reasonably priced alternative to Google Photos that comes with fault tolerance, privacy, and a functional, cross-platform interface?
A list of components users should care about. 1. Deployment with egress or lan only 2. Simple back up and restore of applications version/app data. 3. Fault tolerant system like ZFS 4. Making sure the app data is viewable/accessible independent of the app itself.
There's not a single open source system that abstracts the complexity to achieve those 4 points. In fact there are not many paid products that achieve those goals. Most I've seen are subscription based.
Many might say go native docker/kubernetes. I would argue those technologies are fine but too high of a learning curve and fundamentally don't have a solution for a simple GUI driven backup / restore.
I think points you rise are not that hard to solve with OS stack, to me the difficult part is the ease of sharing photos with others. People like familiar interfaces, adding photos to their own albums etc. Their experience of viewing your photos will never be that great, even when you have a decent uplink.
I like the "Archive" feature to hide photos very much. The only thing that I am missing is a specific implementation of tags. If you would like to read about it, see my comment[1] on the discussion about tags feature.
[1]: https://github.com/immich-app/immich/discussions/1651#discus...
Which is also doing excellent work in this space.
It seems to have bugs with the periodic scanner and importing. Something in my very large collection (134k photos) kills it and it stops importing.
Everything imports fine but all of a sudden it just hangs. Bummer right?
Literally every PhotoStructure version has made improvements to avoid sync from "getting stuck." See https://photostructure.com/about/2023-release-notes/ for examples.
I've got:
1. Timeouts on literally every operation, with retry heuristics based on _how_ it timed out
2. A persistent work queue, so reboots can continue where it left off
3. A persistent progress queue, so you can watch progress on the home page
4. A watchdog service to kick-restart sync if it gets "stuck"
5. Sync reports (in CSV format) that you can open and see what it's doing at a very granular level (updated as progress is made)
If you're still stuck with the latest alpha, please do report it either on https://forum.photostructure.com or on https://photostructure.com/go/discord
Now, if I get banned from Google the same day my house burns down, that could be a problem.
I'm fine self-hosting but I would really like the software in question to handle backups by itself. Sonarr/Radarr/etc all have an amazing backup/restore system that I have found really solid. Obviously Immich's DB is bigger and I do stop all my dockers and backup their config folder nightly so I have that as a backup but still.
Lastly I would love some kind of persist/backup to S3 (or R2?) option. Doubly so for the DB. If my house burns down I'd want to be able to get back up and running easily.
Looks like Immich supports OAuth, so presumably people could sign into my instance with their Google Account credentials. But then does the mobile app start using my instance to upload their photos, even if it's unrelated to an album I've shared with them? Kinda confused how this is supposed to work.
It'd be awesome to have a system that could automatically generate (model versioned) CLIP or SAM embeddings as metadata for your whole library, for downstream plugins to work with (for deduplication, facial recognition, semantic search, text search, etc.)
I built a prototype for a "curator" plugin API, but complexity kept me from releasing it. Here's the short list of "complexifiers":
1. Hourly/daily rate limits (say, from external API calls)
2. How long to cache results for a given input (say, when a new model is available)
3. Timeouts (to avoid sync processes getting "stuck" waiting for results)
4. How to effectively use those results (face grouping requires an ANN to handle the high-dimension vector embedding, whisper/OCR requires a fulltext index, ...)
It's 4. that's the real doozy at least in my mind. It might just be the case that there are only a handful of archetypes, but daily customer support and getting the Next Build out the door has put this task on the back burner for now.
(If anyone has seen this done nicely in other systems, I'm all ears!)
All the processing is done on-device (phone) and the server is just for distribution