Ditch Google Photos: Immich 3 on a Raspberry Pi 5 (Full Setup)
The Pi Stack Lab
0:00 / 0:00
Ditch Google Photos: Immich 3 on a Raspberry Pi 5 (Full Setup)
266 просмотров · 5 дн. назад
The Pi Stack Lab
68 подписчиков
266 просмотров · 5 дн. назад
Google gives you 15 GB and then sends the bill. I moved my whole photo library to a Raspberry Pi 5 running Immich 3, the free, open-source Google Photos replacement. Automatic backup from my phone, face and object search, my entire Google Photos history imported with dates and albums intact, and secure access from anywhere with Tailscale. No subscription, no cloud, nothing stored on someone else's server.
This is the companion to my Jellyfin video: same Pi, same SSD, same Tailscale setup. One Pi runs both.
▬▬▬ WHAT YOU'LL LEARN ▬▬▬
Installing Docker on Raspberry Pi OS 64-bit (Immich is Docker-only)
Immich 3 install with the official docker-compose.yml and .env
The four .env lines you must change (and why the database can't live on exFAT)
First-run wizard and the mobile app with automatic backup
The machine-learning truth on a Pi: what to turn down, what to turn off, and my overnight approach
Moving your Google Photos library with Takeout + immich-go, keeping dates, albums and locations
Remote access from anywhere with Tailscale, no open router ports
Why one SSD is not a backup, and how to update Immich safely
▬▬▬ CHAPTERS ▬▬▬
0:00 Your photos, on your Pi, in three seconds
0:35 Prepare the Pi and install Docker
1:45 SSD, folders, and the ownership fix
2:07 Download Immich and edit .env
3:16 First run in the browser
3:32 Phone app and automatic backup
4:30 The machine-learning truth on a Pi
5:53 The hardware
6:28 Moving your Google Photos library (Takeout + immich-go)
8:45 Remote access with Tailscale
9:20 Backups and updates
10:10 What's next
▬▬▬ KEY COMMANDS ▬▬▬
Update: sudo apt update && sudo apt full-upgrade -y
Install Docker: curl -fsSL https://get.docker.com | sh
Docker group: sudo usermod -aG docker $USER (then log out and back in)
Check: docker compose version
Immich folder: mkdir -p /mnt/media/immich && sudo chown -R $USER:$USER /mnt/media/immich && cd /mnt/media/immich
Download: wget -O docker-compose.yml https://github.com/immich-app/immich/...
Download: wget -O .env https://github.com/immich-app/immich/...
Edit: nano .env
UPLOAD_LOCATION=/mnt/media/immich/library
DB_DATA_LOCATION=/mnt/media/immich/postgres
DB_PASSWORD=YourRandomLettersAndNumbers
TZ=America/Chicago
IMMICH_VERSION=v3
Start: docker compose up -d
Status: docker compose ps
Open: http://YOUR-PI-IP:2283
Update Immich: cd /mnt/media/immich && docker compose pull && docker compose up -d
SSD setup (from the Jellyfin video, if your drive isn't ready):
lsblk · sudo mkfs.ext4 /dev/sda1 · sudo mkdir /mnt/media · sudo mount /dev/sda1 /mnt/media
fstab line: PARTUUID=YOUR_ID_HERE /mnt/media ext4 defaults,auto,users,rw,nofail 0 0
▬▬▬ GOOGLE PHOTOS IMPORT ▬▬▬
1. takeout.google.com → Deselect all → Google Photos only → Export once → .zip, 50 GB
2. Download the zip(s) on your computer, then send to the Pi (full guide + Windows/WinSCP steps in the pinned comment):
ssh pi@YOUR-PI-IP "mkdir -p ~/takeout" then scp ~/Downloads/takeout-*.zip pi@YOUR-PI-IP:~/takeout/
3. API key: Immich web UI → initials circle (top right) → Account Settings → API Keys → New API Key
4. Install immich-go (arm64 build): https://github.com/simulot/immich-go/...
immich-go upload from-google-photos --server=http://YOUR-PI-IP:2283 --api-key=YOUR_KEY ~/takeout/*.zip
▬▬▬ TAILSCALE ▬▬▬
Install: curl -fsSL https://tailscale.com/install.sh | sh
Start: sudo tailscale up
Then in the Immich app set the server to http://100.x.x.x:2283
▬▬▬ PI PERFORMANCE SETTINGS ▬▬▬
Administration → Settings → Machine Learning Settings: turn off Smart Search / Duplicate Detection if needed; Facial Recognition model buffalo_l → buffalo_s
Administration → Settings → Job Settings: concurrency 1 on heavy jobs
Administration → Jobs: watch progress
4 GB Pi: comment out immich-machine-learning in docker-compose.yml
▬▬▬ LINKS ▬▬▬
Immich: https://immich.app
Immich docs: https://docs.immich.app/install/docke...
Immich mobile backup: https://docs.immich.app/features/mobi...
immich-go: https://github.com/simulot/immich-go
Tailscale: https://tailscale.com
Raspberry Pi OS: https://www.raspberrypi.com/software/
Jellyfin on the same Pi: • Jellyfin vs Plex — Why I Switched to a Fre...
▬▬▬ HARDWARE ▬▬▬
Raspberry Pi 5 (8 GB recommended; 4 GB works with machine learning off), official 27 W USB-C power supply, active cooler, microSD for the OS, USB 3 SSD for the library and database.
Immich on one drive is not a backup. Copy the library and postgres folders to a second location on a schedule.
Next up: automating the media library with Sonarr and Radarr. Subscribe to The Pi Stack Lab so you don't miss it.
#RaspberryPi #Immich #SelfHosted #Homelab #GooglePhotos #GooglePhotosAlternative #HomeServer #Tailscale #Docker #PhotoBackup