Immich is a self-hosted photo and video backup solution with mobile app support — providing an experience similar to commercial cloud photo services (automatic backup, timeline view, facial recognition, search) while keeping your media entirely under your own control.
What Immich Provides
- Automatic photo/video backup from mobile devices via a dedicated app
- Timeline and album organization
- Facial recognition and object detection for search
- Original-quality storage, not compressed
Prerequisites
- Ubuntu 22.04/24.04 VPS: 4 vCPU, 6 GB+ RAM (more for large photo libraries and ML features)
- Docker and Docker Compose installed
- Adequate storage for your photo/video library
Step 1 — Create a Project Directory
mkdir immich && cd immich
Step 2 — Download the Docker Compose Configuration
curl -o docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -o .env https://github.com/immich-app/immich/releases/latest/download/example.env
Step 3 — Configure Environment Variables
nano .env
UPLOAD_LOCATION=/path/to/your/photo/storage
DB_PASSWORD=CHANGE_ME_STRONG_PASSWORD
Step 4 — Start Immich
docker compose up -d
First startup takes some time as it downloads and initializes several component services (server, machine learning, database).
Step 5 — Access the Web Interface
http://YOUR_SERVER_IP:2283
Step 6 — Create Your Admin Account
Step 7 — Install the Mobile App
Immich has official iOS and Android apps — connect them to your server URL and enable automatic backup for seamless photo backup directly from your phone.
Step 8 — Add HTTPS
See How to Install Nginx Proxy Manager with Docker — essential since the mobile app will be uploading potentially large amounts of personal photo/video data over this connection.
Understanding Machine Learning Features
Facial recognition and smart search features run local machine learning inference — genuinely CPU-intensive, particularly during initial processing of a large existing library; expect this to take considerable time for large photo collections.
Storage Planning
Unlike commercial services that may compress photos, Immich stores original-quality files — plan storage capacity generously based on your actual library size and expected growth, since photo/video libraries grow substantially over time.
Creating Shared Albums
Immich supports sharing specific albums with other users (family members, for example) without giving them access to your entire library — useful for collaborative photo collections.
Backing Up Immich (Beyond the Photos Themselves)
Back up both the underlying photo storage AND the database (which contains metadata, albums, and facial recognition data) — losing the database means losing your organization even if raw photo files survive.
Common Errors
Mobile app upload fails or is very slow — verify HTTPS is properly configured and check your VPS's upload bandwidth capacity for large photo/video libraries being backed up.
Continue Reading
- How to Set Up Self-Hosted S3-Compatible Object Storage with MinIO
- How to Install Nginx Proxy Manager with Docker
- How to Set Up Automated VPS Backups
Browse more articles in Popular Self-Hosted Applications.