Immich
Self-hosted Google Photos alternative with mobile auto-upload to your server.
Quick facts
- Price model
- Self-hosted
- Starting price
- Free (self-hosted)
- Best for
- Backing up kids' phone photos privately · Family photo libraries you control · Auto-upload without a Google bill
- Replaces
- Google Photos storage plans, iCloud Photos upgrades
- Platforms
- Self-hostediOSAndroidWeb
- Last verified
- 2026-06-22
Why it's listed
Feels like Google Photos without Google owning your kids' pictures.
Immich backs up phone photos to hardware you control with face search and albums. Free and open source—pay for electricity and disks, not per-GB cloud photo tax.
The catch
Jump to setup guide ↓Needs an always-on home computer and its own backup plan—more setup than a phone app.
How to set up Immich
Google Photos–style backup to your own server—auto-upload from phones, albums, and search without a per-GB Google bill.
- Time
- 60–90 min
- Difficulty
- Technical
- Verified
- 2026-06-22
Before you start
- Always-on machine with 100GB+ free space (NAS, mini PC, or homelab)
- Docker and Docker Compose installed
- Static LAN IP for the server—phones need a stable upload target
Install via Docker Compose
Clone Immich's official docker-compose from github.com/immich-app/immich. Copy .env.example → .env, set UPLOAD_LOCATION to a large disk path. Run docker compose up -d and wait for all containers healthy.
Create admin account
Open http://server-ip:2283 in a browser. Register the first account—that user is admin. Enable email/OAuth only if you need them; local accounts work fine on a home LAN.
Install mobile apps
Immich on iOS/Android → Settings → Server URL → http://your-server-ip:2283 (or HTTPS domain if you added a reverse proxy). Sign in and grant photo library access.
Enable auto-backup
In the app: Backup → enable background upload, Wi‑Fi only if you prefer. Start with Recent photos to test before uploading the entire camera roll.
Confirm uploads in the web UI
Photos should appear in the timeline within minutes on Wi‑Fi. If stuck, check server disk space and that the API container is running (docker compose ps).
Set a real backup plan
Immich is not a backup—copy the upload folder and database to a second drive weekly. See our 3-2-1 backup strategy listing for the household pattern.
Troubleshooting
- Phone can't reach server
- Same Wi‑Fi for first test. Use LAN IP not localhost. Firewall must allow 2283/tcp.
- Uploads stall at 0%
- Reverse proxy misconfigured for large uploads—increase client_max_body_size in nginx if using one.
- Machine learning jobs fail
- Optional face search needs RAM. Disable ML features in .env on low-power hardware.
Keep it working
- docker compose pull && docker compose up -d monthly for security patches
- Monitor disk—photo libraries grow faster than you expect
- For lighter encryption-first cloud, Ente Photos hosted tier is an alternative (see our Ente guide)
Official docs: immich.app/docs/install/docker-compose
Good fit for
- Parents who want private family photos
- Families outgrowing free cloud tiers
Not ideal for
- People who won't maintain Docker containers
Alternatives
Ente Photos
End-to-end encrypted photo backup with optional self-hosting—privacy-first Google Photos alternative.
Replaces: Google Photos, Apple iCloud Photos
PhotoPrism
Self-hosted AI-powered photo management browses folders you already own.
Replaces: Google Photos, Amazon Photos unlimited with Prime pressure
External Hard Drive Backup Guide
Set up reliable backups to USB drives—one-time hardware, no monthly cloud rent.
Replaces: iCloud+ upgrades, Google One…
3-2-1 Backup Strategy
Three copies, two media types, one offsite—the rule that prevents total data loss.
Replaces: Only backing up to iCloud or Google, Losing everything if one drive fails