Immich: your own alternative to Google Photos
Automatic phone backup, albums, search by content and a timeline. All of it running on your server, with your photos on your disk.
Short answer
Immich is a self-hosted photo gallery with iOS and Android apps that back up the camera roll automatically, just like Google Photos. It installs with Docker Compose and needs real disk space: budget the current size of your library plus 40% for thumbnails and previews. It is the most complete open source alternative available today, though it is still under active development and it pays to read the release notes before each update.
- Last updated
- May 2, 2026
- Last verified
- May 2, 2026
- Tested with
- Immich v1.13x con Docker Compose
Antes de empezar necesitas
- A VPS or machine with at least 4 GB of RAM
- Disk space equal to your current library plus 40%
- Docker and Docker Compose installed
Google Photos works very well. The problem is not technical: it is that the archive of your life lives in an account you do not control, at a price that goes up every so often.
Immich is today the most serious self-hosted alternative. It is not an experiment: it has decent mobile apps, automatic backup, face recognition and search by content.
1. Download the official files
mkdir -p /opt/immich && cd /opt/immich
curl -fsSL https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml -o docker-compose.yml
curl -fsSL https://github.com/immich-app/immich/releases/latest/download/example.env -o .env
2. Decide where the photos go
This is the important decision and it is worth making before you upload anything. In the .env file:
UPLOAD_LOCATION=/mnt/photos
DB_DATA_LOCATION=/opt/immich/postgres
DB_PASSWORD=a_strong_password
3. Bring up the installation
docker compose up -d
The first run downloads several gigabytes of images, including the machine learning models for recognition. Be patient and watch the progress with docker compose logs -f.
4. Create your account and connect the phone
Go in on port 2283 (or through your domain, if you already set up the reverse proxy) and register the first user, who becomes the administrator.
In the mobile app, enter the server URL ending in /api. That is the most common error at this step: without /api, the app says it cannot find the server.
5. Tune the backup before you let 30,000 photos loose
Turn on background backup, but limit the first sync to a small album. Confirm that the photos arrive, that thumbnails are generated and that the dates are preserved. Then let the whole camera roll go, ideally plugged into power and on wifi.
Common mistakes
Too little RAM. The machine learning service is what consumes it. With 2 GB, Immich starts and then dies in the middle of processing the library. Four is the comfortable minimum.
Updating without reading. Immich releases versions often and some include database migrations. Read the release notes and back up PostgreSQL before every major jump.
Confusing storage with backup. Your photos being on your server does not mean they are backed up. A failing disk takes everything with it. Send a copy somewhere else, even to cheap cloud storage.
Frequently asked questions
How much space do I really need?
Immich keeps the original and generates thumbnails and previews. As a rule of thumb, reserve the size of your library plus 40%. For 200 GB of photos, plan on 280 GB of disk.
Does the app back up on its own, like Google Photos?
Yes. The iOS and Android apps have background backup. On iOS the system limits when it can run, so sometimes it helps to open the app so a large upload can finish.
Is it safe to expose it to the internet?
Only behind HTTPS and with strong passwords. Immich is still under active development. If your photos are sensitive, the safest option is to keep it reachable only over VPN, for example with Tailscale or WireGuard.
Can I import my Google Takeout archive?
Yes, with Immich's command line tool. The process preserves dates if you also import the JSON metadata files that Takeout includes. Without them, all your photos will show the import date.

