Immich is what I'm using right now. I'm running it in a Docker container on my Synology. It was very advantageous to spin up another docker container on my laptop to do the face recognition work because the Synology was going to take forever on it.
We no longer are auto uploading to Google or Apple.
So far, I really like it. I haven't quite gone 100%, as we're still uploading with Synology's photo app, but Immich provides a much more refined, featured interface.
I tried PhotoSync, but it feels like a really misleading name. When I delete photos from my phone, they don't delete on the sync destination, so it's not actually a "sync".
So my photo storage on my home server is getting filled with a bunch of useless images that I only have on my phone temporarily and that I end up deleting shortly after.
ACK. The best part is the one-time-pay option to unlock background sync with many different triggers which can be combined - mine 03:00 am with charger connected in my WLAN. Love the software.
May I ask: why not use Synology's own photo stack? The web UI is pretty good, the iPhone app is great, it runs locally without depending on Synology servers, and does have face recognition and all other features.
I didn’t want to be attached to the Synology system or hardware anymore. Synology Photos is great (and we’re still using it for the upload atm), but Immich lets me control the whole thing, top to bottom.
I’m running a DS1813+. It’s stopped getting new feature updates. This approach lets me keep the storage running while migrating away the server components.
Have you tried Immich? It is extremely polished and has every feature you mentioned, along with being open source with tons of community energy and no lock in.
This. It's a fascinating project, it is hard to believe how can an FLOSS project be so high quality. In my book it's on the level of Postgres (although it's a smaller project, probably).
Their frontend is amazing, their apps are not as performant, and the backend is (IMHO) the worst of them all.
No hate here, I'm really grateful for what they've achieved so far, but I think there's a lot of room for improvement (e.g: proper R/W query split, native S3 integration, faster endpoints, ...). I already mentioned it in their channel (they're a really welcoming community!) and I'm working on an alternative drop-in replacement backend (written in Go) [1] that will hopefully bring all the needed improvements.
TL;DR: It's definitely good, especially for an open-source project, and the team is very dedicated - but it's definitely not Postgres-good
Why the focus on S3 for a self-hosted app? Anyway kudos for the effort, I'm not experiencing performance issues in my locally self-hosted Immich installation but more performant software is always welcome.
I have and love my self-hosted immich install. If self-hosted could also use S3 storage, that allows me to use Garage (https://git.deuxfleurs.fr/Deuxfleurs/garage) , which also lets me play games with growable/redundant storage on a pile of second-hand hard drives. IIRC it can only use a mounted block device at the moment, (unless there is a nfs-exposed s3 translator ....)
A lot of existing tooling supports the s3 protocol, so it would simplify the storage picture (no pun intended).
S3-compatible storage. In my case, Backblaze B2. The idea is to make the backend compatible with rclone, so that one can pick whatever storage they want (including B2 / S3 and others)
I backup my immich photos in B2 with rclone but I prefer having it as a separate process (also, the backup is append-only). I don't need "hyperscale", and storing directly on S3/B2/remotely breaks a bit the 3-2-1 rule I want to follow.
On B2 (and S3 storage in general) you can set a retention policy for what happens after you delete an object (e.g: object lock with persistance for at least 30 days). Of course this is not a substitute for a backup - but it's better than discovering that you deleted your whole 1TB library when it's too late
Looking at the world around me, so much of it is driven by open source. In fact, I can't name a single piece of electronics around me that isn't using it.
Been running immich on my home server for about a year now.
Near zero maintenance stack, incredibly easy to update, the client mobile apps even notify you (unobtrusively) when your server has an update available. The UI is just so polished & features so stable it's hard to believe it's open source.
This seems in stark contrast to others complaining enough about breaking updates that I haven't bothered to try it until it is deemed "stable".
Is it really that stable and flawless in terms of updates?
Because I'm sat here with ZFS, snapshotting and replication configured and wondering why people scare others off of it when the tools to mitigate issues are all free and should be used anyway as part of a bog-standard self-hosted stack.
I've only been running it for about a year (August last year) & from skimming those comments I get the impression I got in at the right time - there's a sense that they've improved stability a lot lately compared to what it was like & it may still be burdened with the fallout of reputational damage from that period.
I also perform all my updates manually - it's fully automated: a simple script that runs in seconds across my entire home server - but I don't have it on any schedule so I'm not doing anything blind. That at least affords me the luxury of being present if/when anything breaks (though for Immich that has not occurred yet).
I've also been running it for a year or two now. There used to be a lot more "breaking" releases but that's slowed way down recently as they approach a "stable" release.
As long as you don't use Watchtower or other tools that blindly update containers immediately, you're all set. When there are breaking changes, they are extremely clearly marked in the release notes with migration steps included. So as long as you read those you're all set
Been running Immich for a couple years now and it has been awesome. There are a few rough edges but I’m sure most of them will be smoothed out by the first stable release.
Haven't had great results with the AI portion though, even with the recommended model. Embeddings seem really poor, and has lots of misses and false positives.
Given how good the new multimodal models are, I've been thinking it would be much better to just have a multimodal model describe the image, and let the searching be done by the already included melleisearch.
That said, due to reasons I haven't had time to mess with it past couple of months, so perhaps something drastic has changed.
We contacted Sony asking about creating an app. The TLDR of that conversation is they said "Don't call us, we'll call you". Open source never really mattered, they're not interested.
Personally I don't care much about adding the free to watch content with ads or anything related to linear tv, but that's just my personal opinion. They didn't touch the personal media collection use case in a negative way, so for me nothing changed.
It's a bit disappointing that OrbStack is not open source, but it works really well.
In my experience (co)lima was already an improvement over Docker Desktop in terms of reliability and background resource usage, but OrbStack is even more lightweight. I also do a bit of low-level networking development and Docker Desktop was rewriting some fields of the IP packets (besides NAT translation) which was annoying. It works seamlessly here.
It still has the same VM memory usage issue as other tools (Linux page cache taking more and more memory over time and not releasing it to the host), but they claim it will work correctly once a bug in Virtualization.framework is fixed: https://twitter.com/OrbStack/status/1645782250116505600
Colima/Lima already support more features than OrbStack, and are FOSS, and OrbStack will soon become a paid product (like Docker Desktop), so I would recommend either Colima or Docker Desktop instead.
Please have a personal license that allows commercial use by the licensee, often it's hard to convince your company to get something just for you and I'm happy to pay for a tool I already use so I don't have to context switch. (I did so for Obsidian and Berkeley Mono).
To add to this I have purchased my own Jetbrains All Products subscription for many years now for exactly this reason. I bring my tools with me, I want to use them on commercial products I develop for companies I work for and I don't want the hassle of them trying to license software for me.
This is the status quo for Java tools at the very least, i.e IDEA, YourKit, etc.
Parallels Desktop Pro (no resource limitations): $120/yr
OrbStack: $96/yr
Seems very reasonable, especially for a tool that does most of what Docker Desktop and Parallels do combined (but better in most cases), and it'll only improve over time.
Except Parallels also gives you an entire desktop experience, including the maybe best Windows on ARM experience in existence (thanks to Qualcomm). That is a lot of utility. OrbStack just feels like an upgrade to (co)lima on the other hand that I'd get for the added comfort, nice GUI and marginal performance uplift (though props for having cgroupv2 dockerd). But not because it actually provides capabilities that I can't get elsewhere, from sources where I don't have to consider licensing and building my scripts on top of something someone might not be able to use.
And I'm not sure the comparison with Docker Desktop is warranted. They're basically doing continuity extortion.
Or perhaps I should also add "reasonable" to the list of qualifiers? I can see that a larger project might be overflowing with well-meaning but mostly clueless people with unreasonable requests.
https://immich.app/