zlacker

Self-hosting my photos with Immich

submitted by birdcu+(OP) on 2025-11-30 09:11:40 | 620 points 353 comments
[view article] [source] [go to bottom]

NOTE: showing posts with links only show all posts
1. cuu508+h2[view] [source] 2025-11-30 09:39:29
>>birdcu+(OP)
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.

40. prh8+4Ij[view] [source] 2025-12-06 04:58:55
>>birdcu+(OP)
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...
44. nntwoz+0Kj[view] [source] 2025-12-06 05:29:12
>>birdcu+(OP)
Anyone used https://lycheeorg.dev for a comparison?

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

◧◩◪
101. halz+RVj[view] [source] [discussion] 2025-12-06 08:43:49
>>kalaks+tOj
Ditto on having services expressed in more portable/cross distro containers. With NixOS in particular, I've found the best of both worlds by using podman quadlets via this flake in particular https://github.com/SEIAROTg/quadlet-nix
◧◩
102. denysv+7Wj[view] [source] [discussion] 2025-12-06 08:47:16
>>WilcoK+iSj
Unfortunately Immich doesn't (yet) support object storage natively, which IMHO would make things way easier in a lot of ways.

You can still mount an object storage bucket to the filesystem, but it's not supported officially by Immich and you anyways have additional delay caused by the fact that your device reaches out to your server, and your server reaches out to the bucket.

It would be amazing (and I've been working on that) to have an Immich that supports natively S3 and does everything with S3.

This, together with the performance issues of Immich, is what pushed me to create immich-go-backend (https://github.com/denysvitali/immich-go-backend) - a complete rewrite of Immich's backend in Go.

The project is not mature enough yet, but the goal is to reach feature parity + native S3 integration.

107. vekerd+AWj[view] [source] 2025-12-06 08:54:00
>>birdcu+(OP)
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/

◧◩◪◨
113. cuu508+mXj[view] [source] [discussion] 2025-12-06 09:03:12
>>geekol+Nzj
> I just ended up exposing my public IP.

I considered doing that too. My main problem with it is privacy. Let's say I set up some sort of dynamic DNS to point foo.bar.example.org to my home IP. Then, after some family event, I share an album link (https://foo.bar.example.org/share/long-base64-string) with friends and family. The album link gets shared on, and ends up on the public internet. Once somebody figures out foo.bar.example.org points to my home IP, they can look up my home IP at all times.

◧◩
118. realha+eZj[view] [source] [discussion] 2025-12-06 09:28:38
>>WD-42+yxj
Not in every way. Seems it has issues with Ultra HDR (https://github.com/immich-app/immich/issues/23094)
◧◩◪
122. piquad+90k[view] [source] [discussion] 2025-12-06 09:43:08
>>euleri+sIj
That's something that should be possible with the upcoming Workflow feature. Some details can be found in the November Recap blog post.

https://immich.app/blog/2025-november-recap

◧◩
126. 4ndrew+n2k[view] [source] [discussion] 2025-12-06 10:09:42
>>fsh+rWj
This was why I was driven to use Photoprism. I use syncthing-fork to upload from phones, and a custom made thing to copy them to folders (this also works with Cameras that aren't phones).

https://www.photoprism.app/

◧◩
134. M95D+m3k[view] [source] [discussion] 2025-12-06 10:22:29
>>fsh+rWj
I use Single File PHP Gallery. Put the file in root dir of your photos and set it executable in web server. That's it. The settings are also inside the file, if you need any tweaking.

https://sye.dk/sfpg/

◧◩◪
135. mlunar+L3k[view] [source] [discussion] 2025-12-06 10:30:05
>>fsmv+kCj
Mine is that: https://photofield.dev/ (but has fewer features)
◧◩
161. warang+d8k[view] [source] [discussion] 2025-12-06 11:24:07
>>fsh+rWj
I work on an image search engine[0], main idea has been to preserve all the original meta-data and directory structure while allowing semantic and meta-data search from a single interface. All meta-data is stored in a single json file, with original Path and filenames, in case ever to create backups. Instead of uploading photos to a server, you could host it on a cheap VPS with enough space, and instead Index there. (by default it a local app). It is an engine though and don't provide any Auth or specific features like sharing albums!

[0] https://github.com/eagledot/hachi

◧◩◪
162. edolou+q8k[view] [source] [discussion] 2025-12-06 11:27:28
>>behnam+cNj
https://nixos.wiki/wiki/CUDA

It’s not too bad. As others have said, AI makes it easy to get right.

◧◩
168. yomism+t9k[view] [source] [discussion] 2025-12-06 11:41:46
>>trizic+QMj
Nix can be easy,but it's not simple.

Obligatory link: https://youtube.com/watch?v=SxdOUGdseq4

◧◩
174. Eikon+sak[view] [source] [discussion] 2025-12-06 11:54:54
>>WilcoK+iSj
Shameless plug: https://github.com/Barre/ZeroFS
◧◩◪◨
188. vishnu+Edk[view] [source] [discussion] 2025-12-06 12:31:27
>>sylens+Sbk
Hey, you can connect any S3 compliant service to Ente.

Our quickstart.sh[1] bundles Minio, but you can configure Ente to use RustFS[2] or Garage[3] instead.

[1]: https://ente.io/help/self-hosting/#quickstart

[2]: https://github.com/rustfs/rustfs

[3]: https://garagehq.deuxfleurs.fr/

◧◩◪◨
208. TurboS+pik[view] [source] [discussion] 2025-12-06 13:15:26
>>zenmac+9fk
Or perhaps Photoview? https://github.com/photoview/photoview
◧◩
227. konart+spk[view] [source] [discussion] 2025-12-06 14:18:28
>>WilcoK+iSj
Something like https://github.com/yandex-cloud/geesefs I'd guess.
◧◩◪◨
231. embedd+uqk[view] [source] [discussion] 2025-12-06 14:27:27
>>edolou+q8k
It's confusing, but bear in mind that nixos.wiki is an unofficial wiki, the official one is at: https://wiki.nixos.org/wiki/CUDA
◧◩◪◨⬒⬓⬔
236. oasisa+Tqk[view] [source] [discussion] 2025-12-06 14:31:24
>>onioni+Nmk
Not OP, and not a very experienced with NixOS (I just use Nix for building containers), but roughly speaking:

* With NixOS, you define the configuration for the entire system in one or a couple .nix files that import each other.

* You can very easily put these .nix files under version control and follow a convention of never leaving the system in a state where you have uncommitted changes.

* See the NixOS/infra repo for an example of managing multiple machines' configurations in a single repo: https://github.com/NixOS/infra/blob/6fecd0f4442ca78ac2e4102c...

◧◩
246. a02231+fsk[view] [source] [discussion] 2025-12-06 14:44:38
>>renega+fbk
> You need to be a web dev or a sys admin to be able to wrangle that thing.

I totally disagree. You do need a tiny bit of command line experience to install and update it (nothing more than using a text editor and running `docker compose up`), but that's really it. All administration happens from the web UI after that. I've been using Immich for at least 2 years and I've never had to manually do something other than an update.

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

Honestly, I can't understand what exactly you're expecting. If Google Photos suits your needs for sharing photos with others, that's great! As for Immich, have you read how it started[0]? I think it's solved the problem amazingly well and it still stays true to its initial ambitions.

[0]: https://v1.142.1.archive.immich.app/docs/overview/welcome

◧◩◪◨⬒⬓⬔
265. embedd+Gzk[view] [source] [discussion] 2025-12-06 15:43:02
>>palata+4sk
> The Nextcloud iOS app does it.

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.

One issue (https://github.com/nextcloud/ios/issues/2225) been open since 2022, seems to still be not working properly. Another (https://github.com/nextcloud/ios/issues/2497) been open since 2023.

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.

◧◩◪◨
271. dexter+sEk[view] [source] [discussion] 2025-12-06 16:20:41
>>thanze+shk
https://community-scripts.github.io/ProxmoxVE/scripts?id=imm...

These things are a proxmox home lab user's lifeline. My only complaint is that you have to change your default host shell to bash to run them. You only have to do that for the initial container creation though.

◧◩◪◨⬒⬓
279. jbstac+eKk[view] [source] [discussion] 2025-12-06 17:07:35
>>teeker+G2k
I refer you to:

https://xkcd.com/1053/

◧◩
284. Groxx+7Mk[view] [source] [discussion] 2025-12-06 17:21:51
>>uzerna+clk
> permission issues

as an un-solicited drive-by suggestion: see if they're owned by root? you may have sudo'd the original run.

since you're at least a few months behind though, do check for breaking changes: https://github.com/immich-app/immich/discussions?discussions... they've pretty consistently had instructions, but you unfortunately mostly have to know to look for it. not sure why the upgrade notification doesn't make it super incredibly painfully obvious.

◧◩◪
287. wrxd+YMk[view] [source] [discussion] 2025-12-06 17:30:08
>>behnam+uNj
These days there is Data Transfer Project that supports transferring pictures from Google Photos to iCloud and the other way around. https://portmap.dtinit.org/articles/photos7.md/
307. lucb1e+uQk[view] [source] 2025-12-06 17:57:59
>>birdcu+(OP)
https://docs.immich.app/install/requirements

> RAM: Minimum 4GB, recommended 6GB

Wow. When factoring in the OS, that's an entire system's worth of RAM dedicated to just hosting files!

What does it use all this for? Or is this just for when it occasionally (upon uploading new pictures) loads the image recognition neural net?

I'd have to stop Immich whenever I want to do some other RAM-heavy task. All my other services (including database, several web servers with a bunch of web services, a Windows VM, git server, email, redis...) + the host OS and any redundancy caused by using containers, use 4.6GB combined, peaking to 6GB on occasion

> CPU: Minimum 2 cores, recommended 4 cores

Would be good to know how fast those cores should be. My hardware is a mobile platform from 2012, and I've noticed each core is faster than a modern Pi as well as e.g. the "dedicated cores" you get from DigitalOcean. It really depends what you run it on, not how many of them you have

◧◩◪
311. DrammB+yTk[view] [source] [discussion] 2025-12-06 18:24:06
>>riedel+A1k
Storage template is not deprecated https://docs.immich.app/administration/storage-template/

Also according to https://immich.app/cursed-knowledge the notify issue was fixed July 2024.

◧◩◪
317. hombre+2Xk[view] [source] [discussion] 2025-12-06 18:49:16
>>windex+zRk
A few thoughts.

> It's not simpler than a container option and creates a single point of issue. The container option is tested and supported by Immich, they recommend it. I don't want to be beholden to NixOS for everything.

I think there's a misunderstanding here. You aren't beholden to NixOS here. You don't have to use nixpkgs nor home-manager modules. You can make your own flakes and you can use containers, but the benefit is still that you set it up declaratively in config.

It's not incompatible with anything you've said, it's just cool that it has default configurations for things if you aren't opinionated.

> I don't want to manage configurations in multiple places.

I've accumulated one big Nix config that configures across all my machines. It's kind of insane that this is possible.

Of course, it would seem complicated looking at the end result, but I iterated there over time.

Example: https://github.com/johnae/world -- fully maintained by a clanker (https://github.com/johnae/world/pulls?q=is%3Apr+is%3Aclosed)

◧◩◪◨⬒
334. Durali+1dl[view] [source] [discussion] 2025-12-06 21:10:37
>>navane+AVj
If you are worried about that then I can highly recommend https://github.com/alangrainger/immich-public-proxy

I keep that running on a VPS, but with with proper firewalling you could probably run it on the same machine.

◧◩◪◨⬒
335. UltraS+Qdl[view] [source] [discussion] 2025-12-06 21:18:40
>>lucb1e+hPk
by using a wireguard tunnel and NAT traversal

https://tailscale.com/blog/how-nat-traversal-works

[go to top]