Self-hosting my photos with Immich

https://news.ycombinator.com/rss Hits: 21
Summary

Table of contents For every cloud service I use, I want to have a local copy of my data for backup purposes and independence. Unfortunately, the gphotos-sync tool stopped working in March 2025 when Google restricted the OAuth scopes, so I needed an alternative for my existing Google Photos setup. In this post, I describe how I have set up Immich, a self-hostable photo manager. Here is the end result: a few (live) photos from NixCon 2025: Step 1. Hardware I am running Immich on my Ryzen 7 Mini PC (ASRock DeskMini X600), which consumes less than 10 W of power in idle and has plenty of resources for VMs (64 GB RAM, 1 TB disk). You can read more about it in my blog post from July 2024: I installed Proxmox, an Open Source virtualization platform, to divide this mini server into VMs, but you could of course also install Immich directly on any server. Step 2. Install Immich I created a VM (named “photos”) with 500 GB of disk space, 4 CPU cores and 4 GB of RAM. For the initial import, you could assign more CPU and RAM, but for normal usage, that’s enough. I (declaratively) installed NixOS on that VM as described in this blog post: Afterwards, I enabled Immich, with this exact configuration: services.immich = { enable = true; }; At this point, Immich is available on localhost, but not over the network, because NixOS enables a firewall by default. I could enable the services.immich.openFirewall option, but I actually want Immich to only be available via my Tailscale VPN, for which I don’t need to open firewall access — instead, I use tailscale serve to forward traffic to localhost:2283: photos# tailscale serve --bg http://localhost:2283 Because I have Tailscale’s MagicDNS and TLS certificate provisioning enabled, that means I can now open https://photos.example.ts.net in my browser on my PC, laptop or phone. Step 2. Initial photos import At first, I tried importing my photos using the official Immich CLI: % nix run nixpkgs#immich-cli -- login https://photos.example.ts.net sec...

First seen: 2025-12-06 03:18

Last seen: 2025-12-06 23:20