Your own photo backup server with Immich (Docker Compose)
Automatically back up your phone’s photos and videos to your own server, with face recognition, albums and sharing.
Tutorials · 2 min read
Immich is an open-source photo management app that automatically backs up photos and videos from your phone and offers albums, search, face recognition and sharing. Instead of a cloud photo subscription you keep your data on your own server.
Requirements
- Docker and Compose (see Installing Docker).
- At least 4 GB RAM (the machine-learning service for face recognition and search uses extra memory) and plenty of disk for your photo library.
1. Download the official files
Immich’s Compose layout changes from release to release, so always download the official files:
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.env
2. Edit the .env file
nano .env
UPLOAD_LOCATION: the folder where photos are stored (for example/srv/immich/library).DB_DATA_LOCATION: the database folder (on local disk, not a network share).TZ: your time zone (for exampleEurope/Istanbul).DB_PASSWORD: a strong random password using letters and digits only.
3. Start it
docker compose up -d
docker compose ps
The web interface listens on port 2283 by default. Make the first attempt through an SSH tunnel: ssh -L 2283:127.0.0.1:2283 user@SERVER_IP and open http://localhost:2283; the first user to register becomes the admin.
4. HTTPS and the phone app
- With a domain and Caddy, point
photos.yourdomain.comatimmich-server:2283. - Install the Immich app on your phone, enter
https://photos.yourdomain.comas the server address and sign in. - Turn on automatic backup in the settings and choose the albums to back up.
Backups and updates
- Backing up your photos: Immich is a backup tool; it needs a backup itself. Regularly copy the
UPLOAD_LOCATIONfolder and a database dump off the server (rsync,restic). - Updating: read the release notes, then
docker compose pull && docker compose up -d. Major releases can contain breaking changes; take a snapshot first. - Disk: as your library grows, upgrade your plan or create a request for extra disk.
Security: publish Immich over HTTPS only, use strong passwords and leave user registration to the admin.
Start with Melinhost
You can pick a cloud server with enough disk and memory for a photo library, and a snapshot gives you a safe rollback point before updates.