logoalt Hacker News

Self-hosting my photos with Immich

408 pointsby birdculturelast Sunday at 9:11 AM185 commentsview on HN

Comments

renegade-ottertoday at 12:03 PM

Immich is a Google Photos clone, and when they say "self-hosting", they mean SELF-HOSTING. You need to be a web dev or a sys admin to be able to wrangle that thing. Nightmare upgrades, tons of weird bugs related to syncing.

If your solution to an issue is "just reset the Redis cache", this is when I am done.

Immich solves the wrong problem. I just want the household to share photos - I don't want to host a Google Photos for others.

show 3 replies
trizictoday at 6:19 AM

There is something to be said about NixOS, it really is a matter of setting `services.immich.enable = true;` in a configuration file. I find this really powerful and simpler than docker and docker-compose. But don't get me wrong, I am all for containerization when it comes to other OS/distros. Yes, there is a learning curve for the Nix language and creating your own packages. But anyone who can install a distro can install NixOS. Instead of running your apt/dnf/pacman commands, you edit a file with your package names and services you want to enable, and run `nixos-rebuild switch`. Though, you might find standalone binaries such as uv and its portable Python bundles don't work out the box, there is a a few lines configuration to get it working. Having a single language for configuring all services/applications (neovim,nginx,syncthing,systemd, etc) is refreshing. And of course combined with generative AI, you can set up a lot quickly.

Immich is one of the only apps on iOS that properly does background sync. There is also PhotoSync which is notable for working properly with background sync. I'll take a wild guess that Ente may have got this working right too (at least I'd hope). This works around the limitation that iOS apps can't really run as background apps (appears to me that the app can wake up on some interval, run/sync for a little and try again on the next interval). This is much more usable then for example, the Synology apps for photo sync, which is, the last time I tried, for some reason insanely slow and the phone needs to have the app open and screen on for it fully sync.

Some issues I ran into is the Immich iOS app updating and then being incompatible with the older version of the server installed on my machine. You'd have to disable app updates for all apps, as iOS doesn't support disabling updates for individual apps.

In my specific scenario, the latest version of Immich for NixOS didn't perform a certain migration for my older version of Immich. I had to track down the specific commit that contained the version of Immich which had the migration, apply that, then I was able to get back to the latest version. Luckily, even though I probably applied a few versions before getting the right one, it didn't corrupt the Immich install.

show 6 replies
WD-42today at 3:02 AM

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.

show 7 replies
fshtoday at 8:52 AM

My biggest worry with Immich is how to future-proof the albums. With photos sorted into folders, it should be no problem to access them in a couple of decades. With Immich, I have to rely on the software still working or finding some kind of tool to dump the database.

show 8 replies
stavrostoday at 3:11 AM

I adore Immich. I set it up a while ago, and I'm finally looking at my photos again. I was previously using Nextcloud for photos, but it was such a slog to find anything that I never took or looked at photos.

Immich put the joy back in photography for me, it's so easy to find anything, even with just searching with natural language.

show 2 replies
rcarmotoday at 11:43 AM

I've had nothing but trouble with Immich. It's a CPU hog if you enable any kind of AI/ML (face detection is a notable culprit) or when preprocessing even small phone videos, I can't get it to import an existing photo tree from a filesystem, and the iOS app can't seem to sync reliably...

gbiltoday at 7:04 AM

Immich is wonderful in docker setup passing the gpu for ML which works pretty good and the amazing new OCR feature does miracles, I’m able to find notes that I photographed for this purpose but then forgot, I’m able to find memories just by remembering the name of the place and searching for it and everything is running local!

kricktoday at 3:30 AM

I never even used Google Photos (because, you know), so if somebody could explain more concretely: how do you use it? Is it actually a backup app (and if so, is it really much different from using a generic backup app or even just syncthing), or does it somehow magically allow you to keep the preview gallery and search on your device, while your actual 200 GB of photos are somewhere in the cloud and the local storage is basically just auto-managed cache, where everything you didn't access in the last 6 months gets deleted? Does it preserve all this additional data Android cameras add, like HDR, video fragments before photos, does it handle photospheres well, etc? I'm asking because I don't even fully understand how the camera app handles it itself, and if all the data is fully portable.

FWIW, I also don't use any fancy collection management and barely understand what all these Lightrooms and XMP files are for. Maybe I should, but up to this day photos for me are just a bunch of files in the folder, that I sometimes manually group into subfolders like 2025-09, mostly to make it easier on thumbnail-maker.

show 5 replies
oliyoungtoday at 3:14 AM

Docker + Immich + Tailscale is the killer replacement to Google & Apple Photos, it's simply that simple

show 4 replies
cromkatoday at 8:30 AM

Immich is great, but I like Ente more because of the E2E encryption. I don't trust that someday my hardware wouldn't get stolen and all photos get in possession of someone else.

show 3 replies
WilcoKruijertoday at 7:54 AM

How do people handle backups with Immich? Ideally I’d like all my images to be uploaded to object storage if I’m self-hosting.

show 6 replies
azuanrbtoday at 4:07 AM

I gave it a try a few months ago. Unfortunately, my experience was not that great. I was hosting it on Synology through Docker and found that the iOS client was a bit buggy and quite slow. Synology Photos completed the initial sync in a few hours, while Immich took several days. After a few months, I switched back to Synology Photos. I might try Immich again in the future.

I started looking for alternatives after Synology became more restrictive with their hardware. I'm curious if anyone else has had a similar experience.

show 2 replies
teekerttoday at 8:55 AM

I also run NixOS (btw) but opted for the container. My Docker compose setup has moved from Arch to Ubuntu to NixOS now, so I like the flexibility of that setup.

I also use Tailscale, and use cloudflare as nameserver and Caddy in front of Immich to get an nice url and https. For DNS redirects I use Adguard on the tailnet, but (mostly for family) I also set some redirects in my Mikrotik hEX (E50UG). This way Immich is reachable from anywhere and not on the internet. Unfortunately it looks like the Immich app caches the IP address somewhere? Because it always reports as disconnected whenever Tailscale turns off when I'm at home or the other way around and takes some time/attempts/restarts to get going again. It's been pretty flaky that way...

Other than that: Best selfhosted app ever. It has reminded me that video > photos, for family moments. Regularly I go back through the years for that day, love that feature.

Ringztoday at 9:26 AM

Immich struggles to act as a true unifying solution for users with large, existing archival collections (DSLRs, scanned film, etc.). Since those „Archival Assets“ are often decades old, already organized into complex, user-defined file structures (e.g., 1998/DATE_PLACE_PROJECT/PLACE_PROJECT_DATE.jpg), and frequently contain incomplete or inconsistent metadata (missing dates, no GPS, different file formats).

Immich's current integration solutions (like "External Libraries") treat the archive as a read-only view, which leads to a fragmented user experience:

- Changes, facial recognition, or tagging remain only within Immich’s database, failing to write metadata back to the archival files in their original directory structure (last time I checked, might be better now.

- My established, meaningful directory structure is ignored or flattened in the Immich view, forcing the user to rely entirely on Immich’s internal date/AI-based organization.

My goal (am I the only one?) of having one app view all photos while maintaining the integrity and organizational schema of the archival files on disk is not yet fully met.

Immich needs a robust, bi-directional import/sync layer that respects and enhances existing directory structures, rather than just importing files into its own schema.

rodwyersoftwaretoday at 11:33 AM

I found the sync clients for iOS to stuck unfortunately, meaning I cannot use this.

Groxxtoday at 3:42 AM

I'll throw in another "+1, quite satisfied with immich" comment, because I'm honestly that impressed.

The project as a whole feels competent.

Stuff that should be fast is fast. E.g. upload a few tens of thousands of photos (saturates my wifi just fine), wait for indexing and thumbnailing to finish, and then jump a few years in the scroll bar - odds are very good that it'll have the thumbnails fully rendered in like a quarter of a second, and fuzzy ones practically instantly. It's transparently fast.

And the image folder structure is very nearly your full data, with metadata files along side the images, so 99% backups and "immich is gone, now what" failure modes are quite easy. And if you change the organization, it'll restructure the whole folder for you to match the new setup, quietly and correctly.

Image content searching is not perfect (is it ever?), but I can turn it on in a couple clicks, search for the breed of my dog, and get hundreds of correct matches before the first mistake. That's more than good enough to be useful, and dramatically better than anything self-hosted that I've tried before, and didn't take an hour of reading to enable.

It's "this is like actually decent" levels that I haven't seen much in self-hosted stuff. Usually it's kinda janky but still technically functional in some core areas, or abysmally slow and weird like nextcloud, but nope. Just solid all around. Highly recommended.

show 1 reply
cuu508last Sunday at 9:39 AM

I'm running Immich on NanoPi R6C (arm64, even lower idle power usage, still plenty fast for running Immich).

I use Cloudflare tunnel to make it available outside the home network. I've set up two DNS names – one for accessing it directly in the local network, and and a second one that goes through the tunnel. The Immich mobile app supports internal/external connection settings – it uses the direct connection when connected to home wifi, and the tunnel when out and about.

For uploading photos taken with a camera I either use immich-go (https://github.com/simulot/immich-go) or upload them through the web UI. There's a "publish to Immich" plugin for Adobe Lightroom which was handy, but I've moved away from using Lightroom.

show 1 reply
flymaipietoday at 11:06 AM

I prefer Photoview’s simplicity over Immich. Immich leans too much toward mimicking Google Photos for my taste.

vekerdybtoday at 8:54 AM

Surprised that neither the article, nor the comments mention Photoprism from what I can see. It’s not I’ve been hosting Photoprism and syncing my photos with PhotoSync from my iPhone for a while now. I would consider switching to another solution if it had in-browser basic editing (cropping, contrast / white balance adjustment, etc).

https://www.photoprism.app/

show 1 reply
nntwozztoday at 5:29 AM

Anyone used https://lycheeorg.dev for a comparison?

I'm curious to know which one would suit me best.

show 2 replies
prh8today at 4:58 AM

This is great timing, I'm just setting up a homelab and planning to run Immich on a mini PC server connected to a NAS. I did find icloudpd, which seems like a pretty reliable syncing tool for people in Apple ecosystem. https://github.com/icloud-photos-downloader/icloud_photos_do...

show 1 reply
andrew_eutoday at 8:36 AM

Very nice the author uses tailscale serve! It's an underrated, and unfortunately under documented, way to host a web service directly to Tailscale. With that you can run a docker compose stack with one extra tailscale container, and then it's immediately a self contained and reasonably portable web server in your tailnet.

Immich really is fantastic software, and their roadmap is promising. I hope they have enough funding to keep going.

websiteapitoday at 3:29 AM

immich is neat, but I tire of fiddling around with computers more than necessary so I pay for iCloud for the family because I don't want to be Oncall 24/7/365. I do self host home assistant sadly, just because certain things I want to do are just not possible with SmartThings. planning on moving to their hosted solution for that eventually too tho.

I actually did the math earlier and the iCloud 12TB plan for a family is way cheaper than the equivalent s3 storage assuming frequent access, even assuming a 50% discount. so that's nice.

show 2 replies
subhajeet2107today at 5:34 AM

I use ente which is also the same, a bit tricky to setup but the app looks great

tuxtimotoday at 6:02 AM

The only thing that's really missing is a feature on the mobile app to delete local copies of uploaded assets ... Something like Google Photos "Free up space" feature.

show 1 reply
skittlesontoday at 5:13 AM

One thing I really like is the performance... its smooth and fluid. The api is really useful as well: I wrote a small job to auto add descriptions and tags to the images.

wiethertoday at 10:11 AM

Given how many times I've read praises about Immich here, I tried it a few weeks ago and was quite disappointed.

The fact that they don't support sub-albums make it an absolute no-go to me.

shadowphotoday at 2:52 AM

Love Immich. Runs smoothly on an amd 4700u ($200) with minimum cpu/ram usage

show 1 reply
drekipustoday at 3:06 AM

Immich started the same time and with the same backstory/reasoning to my (failed) project.

I love the immich success story but it seems like it's missing a crucial use case in my view: I don't actually want a majority of the photos on my phone. I want something like a shared album that me and my wife both have access to, and so we can share photos specifically to that album (quickly and without hassle), so we can do it in the moment and both have access.

I would probably estimate 90% Of my photos are junk, But I want to isolate and share the 10% that are really special.

My app failed, but I'm thinking about reviving it as an alternative front-end to immich, to build upon that.. But I feel like I'm the only one who wants this. Everyone else seems fine with bulk photo backup for everything.

show 4 replies
camillomillertoday at 9:39 AM

> For every cloud service I use, I want to have a local copy of my data for backup purposes and independence.

I know how much Adobe is hated around any creative circle, but tbf I find that Lightroom CC does this pretty well. Adobe has a well done simple helper app that does just that: downloads the entire of your library locally, with all pictures, all edits, everything. For backup purposes is perfect. Lightroom might be expensive for amateurs, but if you even just do a couple of photo jobs per year, it's worth every cent.

jatsakthitoday at 8:36 AM

learnt a lot from this! Thanks.

globular-toasttoday at 7:34 AM

I've been running Immich on my Kubernetes cluster for a few months now. It was one of the harder things to install. I didn't use the "official" Helm chart because I didn't like it, instead just set it up myself. I use Cloud Native Postgres for DBs so I have backups already configured. I had to use a special image with vectorchord in it. It auto updates with flux and has been fine. The only time it wasn't fine was when I needed to manually upgrade vectorchord in the db.

The Android app is good but does quite often fail to open, just getting stuck on the splash screen indefinitely. Means I have to have another app for viewing photos on my phone.

One of the main reasons I wanted to install it is because my partner runs out of space on her iPhone and I don't want to pay Apple exorbitant amounts for piffling storage. Unfortunately it doesn't quite work for that; I can't find an option to delete local copies after upload.

hjaveedtoday at 3:23 AM

this is super cool.

rageboltoday at 7:54 AM

[dead]