Self hosting used to mean conceding on something. I can honestly say Immich is better in every way than Google Photos or whatever Apple calls it. The only thing is having to set it up yourself.
There are still some features that a miss from Google photos. There isn't any way (that I know of) to auto add pictures to an album based on the face. I used to have dedicated albums for family members, and it was nice to have the auto updated.
Face recognition in general just isn't as good as Google Photos.
It's still an amazing piece of software and I'd never go back, but it isn't perfect yet.
Are we using the same Google Photos? I've found Immich face recognition and context/object search to be miles better than Google Photos. In particular, Google Photos is exceptionally bad at distinguishing non-European looking faces (though it's not great in general), and it completely gave up on updating / scanning new photos in 2024 after I imported party photos with a lot of different people.
Almost all my Google Photos "people" are mix-and-matched similar looking faces, so it's borderline useless. Immich isn't perfect, but it gives me the control to rerun face recognition and reassign faces when I want, even on my ancient GTX 1060.
My google photos doesn't even seem to support facial recognition, maybe I turned it off somehow at some point, but it doesn't seem like google photos supports manually selecting a face (a face that isn't detected), which is something I use a ton with Immich, it is very convenient, even if a bit tedious if going through a backlog.
Annoyingly you can't create a person that way yet with immich, but that's where digikam helps.
Immich manages to detect my kids faces much better than expected. I only have two years, but it is spot on with kid #1 from newborn to 2yo, and it manages to not mix up the new baby photos of #2 with the baby photos of #1.
In my 44k photos there are zero statues face detected, the only flukes are a few photos from a restaurant with a celebrity picture wall.
Yes, it does silently and reliably upload all my photos to my server. That's like, the entire selling point of the app? You even have control over how and when (on wifi or not) and the ability to change hostnames depending on what network you are on. And yes I can browse my entire collection back to 2001 no problem. I have no idea what the offline support is.
That was my selling point for Nextcloud, and it turns out it doesn't work reliably. It works most of the time, but for backing up photos it's not enough, and when it fails it's super annoying (you have to resync EVERYTHING from scratch).
People seem very happy about Immich, I'm tempted to try. But people seem very about Nextcloud as well, so it's difficult to tell.
The sync really is quite good. On wifi it's basically seamless. If I had 30k new images though it would be much faster to use the immich-go tool mentioned in the blog post.
Offline support is alright, though I haven't worried about this much. I think it doesn't do any local deletion, so whatever stays in your DCIM folder is still on device.
Yeah, this and syncthing for keeping our shared password vault file in sync together were 2 of the 3 major reasons my wife's last phone upgrade was a swap from iOS to Android (went with a Pixel 8, which was new at the time).
Since then, Immich and Syncthing+Keepass have worked as well as or better than their proprietary equivalents for my decidedly-non-technical wife.
I did initial setup, and she never has to think about it again. It just works, which is more than I can say for paid cloud subscriptions and their constant nags over exceeded storage space.
The Nextcloud iOS app does it. For some reason it requires the location permission "all the time" for that, presumably as a way to "wake" the app from time to time?
I decided to try Nextcloud exactly because of this. My problem with it is more that the whole thing is a bit unreliable. Like once in a while the app will get into a state where the only way I found to recover is to just erase everything and re-sync everything. And the app will resend ALL the pictures, even though they are already on the server.
And I can't do that with my family members' phones. It doesn't matter to me if the app takes a month to sync the photos, but it has to require zero maintenance. I can deal with the server side, but I need it to "just work" on the smartphones.
Searching for "nextcloud ios background sync" shows a whole bunch of forum posts and bug reports about it not working well unless you have the application open.
For something that works well it seems like a ton of people have a lot of issues with it. Are you sure you're on the latest iOS version? Seems like people experience the issues when they're on a later version.
I don't know it for sure, but I think it wasn't working until a recent update (like 6 months ago). Also an unintuitive thing is that the location permission has to be given to the app "all the time", and I think I had to manually go into the settings to set it up.
I think that the forum posts may be old, and/or a bunch of them may come from users who did not know that they had to set the location permission this way (which admittedly is unintuitive for photo syncing).
Background support for non-Apple apps is best-effort at best, and explicitly discouraged in the docs. The rate of silent push notifications and other background mechanisms are intentionally not documented and you’re explicitly instructed you not to rely on any current behavior. They make some exceptions to support money makers like Uber and fitness tracking but generally they don’t like you using anything in the background.
Android is more relaxed but the vendors (like Samsung etc) will go around that and implement their own aggressive background killing bots. Sometimes, this causes alarm apps to stop and not wake you up etc.
The main reason is battery life. Tragically, this makes sense due to the cesspool of spam apps that plague their ”curated” app stores. If you’re an app developer who want to use it responsibly you’re in for a world of trouble. I know because I am one of them (well, I consider myself responsible at least).
The Nextcloud app has been running and syncing in the background on 3 iPhones for like 6 months, so they managed to make that work relatively well.
My issue is other bugs that make it painful, including the fact that I cannot trust that Nextcloud will eventually upload the whole photo gallery (it seems like some files regularly get "locked" w.r.t. "webdav", for some reason, and this never resolves).
> Does your phone silently and reliably upload all the photos to your server? My guess you're conceding on that part.
That’s my question. I’m sure it works fine on Android but I was under the impression that iOS/iPadOS restricts this unless the app is running in the foreground.
> We got to this stage of having to sync ̶b̶e̶c̶a̶u̶s̶e̶ ̶A̶p̶p̶l̶e̶ ̶c̶a̶n̶’̶t̶ ̶s̶t̶a̶n̶d̶ ̶p̶u̶t̶t̶i̶n̶g̶ ̶m̶o̶r̶e̶ ̶s̶t̶o̶r̶a̶g̶e̶ ̶o̶n̶ ̶c̶l̶i̶e̶n̶t̶ ̶d̶e̶v̶i̶c̶e̶s̶.
"because a company that sells you Cloud storage has very few incentives to give away more local storage, or compress/optimize the files generated by its camera app." might be more accurate
> We got to this stage of having to sync because Apple can’t stand putting more storage on client devices.
It's not why I use sync services. All my photos fit on my devices (more or less). But I want to have seamless access to my files from both of my devices. And most importantly the sync is my first line of backup, i.e. if my phone gets obliterated I don't loose a day or two of files and photos, I only loose a couple of minutes.
For the record, I think Immich is very good, and I use it myself. But there is something about the design and performance in the mobile app that still makes it feel "not quite there yet" on iOS at least.
Other than redundant hosting, what will I get as an Apple user by setting this up? It would be very easy to set up, just not sure what I’m gaining from it
I don't think it would add any value for you. For me, it adds value because I only have to turn my head to the left to see the computer that contains all my photos since I started taking pictures with a smartphone.
For once iCloud have a terrible sync speed. Even 500GB of photos / videos take forever to sync like a week and I can't imagine what it will take for someone with multi-TB archives.
I'd imagine if you're person who make a lot of photos / videos slow sync can be pretty annoying. Unfortunately I'm not one of them to tell, but just had to wait like a week for the first sync of my wife's iPhone to finish.
Supporting someone who is not TooBigTech is a valid concern, IMO.
The selling point for me is that it is NOT TooBigTech. It doesn't have to be as good as TooBigTech, but it has to be reliable enough. In my case it means that it should be able to sync from iOS/Android, in the background, even if the user never opens the app, and it should never get out of sync and require setting up everything again. Nextcloud fails at that.
I have not shared it with many people. But one of my most wanted feature is to completely share by photos with my partner. None of the services I tried (Plex, Synology Photos) had it. In Immich, it’s just a flip of a button.
Flip a switch and then what, are you getting a isolated public URL to share? Or you have your infrastructure exposed to the internet and the shared URL is pointing to your actual server where the data is hosted?
> you have your infrastructure exposed to the internet and the shared URL is pointing to your actual server where the data is hosted
I think the previous commenter misunderstood your question, this is the answer (you can also put it behind something like cloudflared tunnels).
Immich is a service like any other running on your server, if you want it exposed to the internet you need to do it yourself (get a domain, expose the service to the internet via your home ip or a tunnel like cloudflared, and link that to your domain).
After that, Immich allows you to share public folders (anyone with the link can see the album, no auth), or private folders (people have to auth with your immich server, you either create an account for them since you're the admin, or set up oauth with automatic account creation).
Ugreen has it. It has conditional albums in which one can setup rules like person, file type, location, anniversary and more and share a live album. Or leave all params empty and simply mirror the entire library.
You get a link and you can set read or write permissions on it.
Whoever gets that link can browse it in a web browser.
I've used this to share albums of photos with gatherings of folks; it works very well. It does assume you have your Immich installation publicly available, however. (Not open to the public, but on a publicly accessible web server)
How safe is that to set up for novice it people? I have a pi with pi-hole on it and am thinking about putting immich on it but the fact that it exposes itself outside my LAN frightens me.
I have it set up in a container that I keep updated. Then it's reverse proxied by another container which runs nginx proxy manager, which keeps the HTTPS encryption online. So far, the maintenance has only been checking whether a new version has been released and docker pulling the images, then restarting the containers.
OK. Then you concede your security, as I can't imagine any single person self-hosting can be better at keeping their public service more secure than engineers at Google can. Especially with limited time.
You definitely have a dull imagination. If the software itself is secure, containerized version of Immich behind a containerized version of nginx proxy manager is probably as secure as you can get. Also google security tends to be mainly leaning towards securing google and less towards securing google's (non paying) customers.
I mean, if you’re confident about security best practices, have a moderate amount of networking experience, and are a seasoned web developer, it’s not too scary at all. I realize that’s a lot of prerequisites though.
it’s not a fair comparison with Google because Google has a much bigger target on their back. There are millions of users of Google, so the value of hacking Google is very high. The value of hacking a random Immich instance is extremely low.