Replacing Google Photos with Immich
Google Photos is one of the hardest services to self-host a replacement for. The search, the automatic organization, the seamless mobile backup. Most alternatives feel like a downgrade. Immich is the first one that does not.
What Immich does
Immich is a self-hosted photo and video management platform. It handles everything you expect from Google Photos: automatic mobile backup, facial recognition, location-based browsing, albums, sharing, and search. The web interface and mobile apps feel modern and responsive.
Setting it up
Immich uses Docker Compose with several services (the app, a database, machine learning for facial recognition, and Redis):
# Download the docker-compose file and .env
wget https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget https://github.com/immich-app/immich/releases/latest/download/.envEdit the .env file to set your upload location and database password, then:
docker compose up -dThe initial setup wizard runs at http://your-server-ip:2283. Create an admin account and you are ready to start uploading.
Mobile backup
Install the Immich app on iOS or Android, point it at your server URL, and enable background backup. New photos and videos upload automatically when you are on Wi-Fi (or cellular, if you prefer).
The backup is fast and the app handles large libraries well. I migrated about 50,000 photos from Google Photos and the import took a few hours on my local network.
Machine learning features
Immich runs machine learning models locally on your server for facial recognition, object detection, and smart search. You can search for "dog" or "beach" or "sunset" and it finds relevant photos without any manual tagging.
The facial recognition groups photos by person automatically. Once you name someone, it applies across your entire library. This was the feature I thought I would miss most from Google Photos, and Immich's implementation is solid.
Storage
Photos go to a directory you specify, organized by date. Since they are just files on disk, you can back them up with any tool. I store mine on my TrueNAS and the ZFS snapshots give me versioned backups automatically.
The Google Photos import
Immich has a tool for importing your Google Takeout export. Download your data from Google, extract it, and use the Immich CLI to upload:
immich upload --recursive /path/to/google-takeout/photosIt preserves dates and metadata. The migration is not instant for large libraries, but it works.
What is missing
Immich is actively developed but still maturing. A few things that are not as good as Google Photos yet:
- Search is good but not Google-level
- Shared album collaboration is basic
- No "memories" or auto-generated highlight videos
- The Android widget is functional but simple
These are all actively being worked on. The project moves fast and every release adds features.
Worth the switch
If you care about owning your photos and not having them scanned for ad targeting, Immich is the best option available. The mobile experience is close enough to Google Photos that the switch does not feel like a sacrifice.
Sources
Related posts
Self-hosting with Coolify: a PaaS on your own server
How Coolify turns your VPS into a Heroku-like platform for deploying apps, databases, and services with a clean web UI.
Backup strategies for self-hosted data
The 3-2-1 backup rule applied to self-hosted services, with practical tools and patterns I use to protect my data.
Self-hosting a media server with Jellyfin
Setting up Jellyfin to stream movies, music, and photos across all my devices without a Plex subscription.
Enjoying the blog? Subscribe via RSS to get new posts in your reader.
Subscribe via RSS