The last piece of the standard 2026 Pi home-server stack
This blog has already covered most of the standard 2026 “turn a Raspberry Pi 5 into a home server” stack – Pi-hole for DNS-level ad blocking, Home Assistant for automation, Ollama for local LLMs, and most recently Vaultwarden paired with Tailscale for a private, remotely-reachable password vault. Immich on Raspberry Pi is the piece that’s been missing: a self-hosted, open-source, AI-powered replacement for Google Photos, and it’s consistently the fifth name that shows up alongside those four in every “what to run on your homelab Pi” list in 2026.
What Immich actually does
- Automatic backup from the Immich mobile app (Android and iOS) the moment you take a photo, same as Google Photos’ auto-upload
- On-device-style facial recognition and smart search – people, places, objects – without your photo library ever leaving hardware you control
- Album management, sharing, and a timeline view that closely mirrors the Google Photos UX people are used to
- Support for the original full-resolution files and RAW formats, not a compressed copy
Hardware you actually need
A Raspberry Pi 5 with an NVMe HAT and SSD is the realistic 2026 baseline – Immich’s AI features (face detection, smart search indexing) are genuinely CPU/GPU-intensive, and a Pi 4 or a Pi 5 running off a microSD card will struggle once your library grows past a few thousand photos. If you followed this blog’s earlier Hailo AI HAT post for edge AI, the same PCIe-based expansion approach applies here for fast storage instead of an NPU.
Getting it running
Immich ships as a Docker Compose stack, which fits the same pattern as everything else in this Pi home-server series:
mkdir immich-app && cd immich-app
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
docker compose up -d
The .env file is where you set your upload storage path (point it at your NVMe mount, not the SD card) and database credentials. First boot takes a while as Immich’s machine-learning containers pull down their models – that’s normal, not a hang.
Pairing it with Tailscale for remote access
If you followed the earlier Vaultwarden + Tailscale post, you already have the pattern: rather than opening a port on your router, Tailscale gives you a private network address for the Pi that only your own devices can reach. Point the Immich mobile app at that Tailscale address instead of a public domain, and your photo backups work exactly the same away from home as they do on your own Wi-Fi – without exposing the server to the open internet at all.
What to actually check before migrating off Google Photos
- Backup strategy for the Pi itself – Immich becomes the only copy of your photos once you stop relying on Google’s infrastructure, so a second backup (an external drive, a second machine, or a cloud backup of the raw files) isn’t optional
- Storage headroom – photo libraries grow faster than people expect; check your SSD size against your actual current library before committing
- Mobile app auto-upload reliability – test it over a few days on real usage before deleting anything from your existing Google Photos library
- Power and uptime – a photo server that’s only sometimes on defeats the point of automatic backup; treat it the same way you’d treat any always-on homelab service
Where this leaves the Pi home-server stack
Pi-hole, Home Assistant, Ollama, Vaultwarden+Tailscale, and now Immich cover the five services that show up most consistently across 2026’s “what to actually run on a homelab Pi” guides. If you’ve been building this stack alongside the blog’s earlier posts, Immich on Raspberry Pi is the natural next service to add – and arguably the one with the most immediately visible payoff, since it replaces something most people are already paying a cloud subscription for.
Leave a Reply
You must be logged in to post a comment.