Immich: Self-Hosted Google Photos with Backup, Search, and Faces
🛠️ Immich
| What it is | Self-hosted photo and video library with mobile backup, search, and sharing |
| Platform | Docker server (Linux/macOS/Windows); iOS and Android apps |
| Price | Free, open source (AGPL-3.0) |
| Link | github.com/immich-app/immich |
Google Photos works until you think about what you traded: your entire visual history on someone else’s disk, priced by storage tier, searchable by their models. Immich is the project that actually gets close to replacing it. Not a static gallery. A full backup stack with background upload from your phone, deduplication, faces, CLIP search, partner sharing, and a web UI that does not feel like a weekend hack. Over 100k GitHub stars for a reason.
The killer feature is phone backup that behaves like Google Photos. Install the mobile app, point it at your server URL, pick albums, enable backup. New shots upload in the background. Duplicates get skipped. Live Photos and RAW files are supported. That alone separates Immich from “I rsynced a folder once.”
Search is better than folder browsing. Immich indexes metadata, detected objects, faces, and CLIP embeddings. You can search “beach sunset” or pull up a person cluster without manually tagging every trip. Facial recognition and “memories” (this day X years ago) are built in. It is the Google Photos feature set, minus the ad business model.
Sharing is first-class. Shared albums, partner sharing, public links, read-only galleries. Multi-user homeserver setups work: first registrant becomes admin, then you add family accounts. OAuth is there if you want it. API keys for scripting.
The stack is serious self-hosting, not a single binary. Official path is Docker Compose: Immich app, PostgreSQL, Redis, and ML workers for thumbnails and search. Docs ask for at least 6 GB RAM and 2 CPU cores. First library import on a big camera roll takes time. Plan disk for originals plus generated thumbnails and embeddings.
The honest catch is you own reliability. Immich backs up the database metadata on a schedule, but the README is blunt: that is not your photos. You still need a real backup of
UPLOAD_LOCATIONand a 3-2-1 plan. Postgres should live on local disk, not a network share. Reverse proxy, TLS, and upgrades are on you. If you want zero ops, keep paying Google.Wrong tool if you only need a fast public album site for a trip. DD Photos is lighter for that. Right tool if you want continuous backup from every family phone to hardware you control, with search and sharing that survive when a cloud vendor changes the pricing again.
Install & first run
Docs live at immich.app. Minimum path:
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.envEdit .env: set UPLOAD_LOCATION to a directory with plenty of space, change DB_PASSWORD to something alphanumeric, uncomment TZ if you care about timeline sorting.
docker compose up -dOpen http://your-server:2283, register (first user is admin), upload a test photo, then install the mobile app and log in with the same server URL. Try the demo first at demo.immich.app ([email protected] / demo) if you want to poke around before committing disk.
Migrating from Google Photos? Look at immich-go for Takeout imports. Full options (external libraries, hardware transcode, reverse proxy) are in the docs.
Worth your time if: you already run Docker somewhere with spare terabytes, you care where family photos live, and you want Google Photos ergonomics without renting Google’s storage forever.
Related TMFNK Content
- DD Photos: Build Your Own Fast, Private Photo Album Website Static WebP galleries when you want to publish a curated set, not back up every phone camera roll.
- TinyCld: Self-Hosted Productivity Suite Same self-hosting instinct for mail and files; Immich fills the photo-shaped hole TinyCld does not cover.
- OrbStack: Fast, Lightweight Docker & Linux for Mac Easier local Docker if you want to trial Immich on a Mac before dedicating a home server.
Crepi il lupo! 🐺