Immich: The Self-Hosted Google Photos Replacement That Actually Works
Google Photos changed the game when it launched with free unlimited storage. Then it removed the free tier. Now you're paying for Google One, locked into an ecosystem where exporting your photo library is a multi-day ordeal.
Immich is a self-hosted photo and video management platform that feels like Google Photos — not a compromise, but a genuine alternative with a modern interface, mobile apps, machine learning features, and active development.
Why Immich Stands Out
The self-hosted photo space has had options for years (PhotoPrism, Lychee, Piwigo), but Immich is the first one that non-technical family members could actually use. It has:
- A mobile app (iOS and Android) with automatic camera roll backup
- Face recognition and object detection powered by machine learning
- A timeline view that feels like Google Photos
- Shared albums and partner sharing (see each other's photos)
- Map view with GPS data from your photos
- An external library feature that indexes photos on existing storage without moving them
Feature Comparison
| Feature | Google Photos | Apple Photos | Immich |
|---|---|---|---|
| Auto backup (mobile) | Yes | Yes (iCloud) | Yes |
| Face recognition | Yes | Yes | Yes |
| Object search | Yes | Yes | Yes |
| Map view | Yes | Yes | Yes |
| Shared albums | Yes | Yes | Yes |
| Partner sharing | Yes | Yes | Yes |
| Memories/On This Day | Yes | Yes | Yes |
| Video transcoding | Yes | Yes | Yes |
| Raw photo support | Limited | Yes | Yes |
| Storage | Google servers | Apple servers | Your server |
| Price | $3-10/mo | $1-10/mo | Free (+ hardware) |
The main gap: Immich doesn't have Google's "search for anything" AI that lets you find photos by describing their contents. Immich's ML features are good but not at Google's level.
Hardware Requirements
Photo libraries are large. Plan your storage accordingly:
| Library Size | RAM | CPU | Storage |
|---|---|---|---|
| < 50,000 photos | 4 GB | 2 cores | 500 GB |
| 50,000 - 200,000 | 8 GB | 4 cores | 2 TB |
| 200,000+ | 16 GB | 8 cores | 4+ TB |
The ML features (face recognition, object detection) benefit from more CPU/RAM during initial processing. A GPU speeds this up dramatically but isn't required.
Installation
Immich provides an official Docker Compose setup. Download their compose file:
mkdir immich && cd immich
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget https://github.com/immich-app/immich/releases/latest/download/.env
Edit the .env file:
# Required: set your upload location
UPLOAD_LOCATION=/mnt/photos/immich
# Required: set database password
DB_PASSWORD=$(openssl rand -base64 24)
# Optional: set a specific version instead of 'release'
IMMICH_VERSION=release
Start everything:
docker compose up -d
Immich starts several containers:
- immich-server — Main API and web interface
- immich-machine-learning — Face recognition and object detection
- postgres — Database
- redis — Caching and job queue
Visit http://your-server:2283 to create your admin account.
Mobile App Setup
- Install "Immich" from the App Store or Google Play
- Enter your server URL (e.g.,
https://photos.example.com) - Log in with your account
- Enable automatic backup in settings
The app backs up photos and videos in the background, similar to Google Photos. You can choose to back up over WiFi only, include videos, and set which albums to sync.
Tip: For the initial upload of a large existing library, use the Immich CLI tool instead of the mobile app. It's much faster:
npm i -g @immich/cli
immich upload --recursive /path/to/photos
Face Recognition
Immich's ML service automatically detects faces in your photos. After processing:
- Go to People in the web interface
- You'll see clusters of detected faces
- Name each person
- Immich merges the face data and lets you browse photos by person
The recognition accuracy is good but not perfect. You may need to manually merge face clusters or correct misidentifications. It improves as you add more photos.
Sharing with Family
Immich supports several sharing models:
Shared albums
Create an album, add photos, and share it with other Immich users. They can view, download, and optionally add their own photos.
Partner sharing
Link two accounts so they can see each other's entire timeline. Ideal for couples or family members who want to share everything without manually creating albums.
Public links
Share individual photos or albums via a link — no Immich account needed. Set expiration dates and passwords for sensitive content.
External Libraries
If you already have a photo collection organized on disk, Immich can index it in place:
- Mount the directory into the Immich container
- Go to Administration → External Libraries
- Add the path and set an import pattern (e.g.,
**/*.{jpg,png,raw})
Immich scans the files, generates thumbnails, runs ML processing, and adds them to your timeline — without moving or copying anything.
Backup Strategy
Your photos are irreplaceable. Don't rely on a single copy:
- 3-2-1 rule: 3 copies, on 2 different media types, 1 off-site
- Database backup:
docker exec immich-postgres pg_dump -U postgres immich > immich-db.sql - Photo files: rsync the upload directory to a backup location
- Off-site: Backblaze B2 or another cloud storage provider for disaster recovery
Known Limitations
Be aware of these before committing:
- Breaking changes: Immich is under active development and occasionally introduces breaking changes in updates. Always read release notes before upgrading.
- No native desktop app: You access your library through the web interface or mobile apps. There's no desktop sync client like Google Drive.
- ML processing time: The initial face recognition scan of a large library can take hours or days, depending on your hardware.
- No Google Lens-style search: You can search by face, date, location, and some objects, but not by describing a scene in natural language.
The Bottom Line
Immich is the first self-hosted photo solution that genuinely competes with Google Photos on user experience. The mobile apps work well, automatic backup is reliable, and the ML features add real value. If you're uncomfortable with Google or Apple having your entire photo history, Immich is the answer.
The trade-off is maintenance: you need reliable storage, a backup strategy, and willingness to manage updates. But for the privacy-conscious or anyone with a large photo library bumping up against cloud storage limits, it's worth the effort.