Immich
High-performance self-hosted photo and video backup
Immich is a high-performance, self-hosted photo and video backup solution with mobile apps, AI search, and face recognition. It targets users wanting a private Google Photos alternative. It is deployed via Docker Compose.
Immich setup guides & articles
Hands-on coverage of Immich from the blog.
The State of Self-Hosting in 2026
Where self-hosting stands in 2026: growth numbers, category winners, licence drama as a genre, and predictions grounded in the visible trends.
Self-Hosting GuidesLeaving Google Photos: Immich in Practice
How to leave Google Photos for Immich — Takeout migration with immich-go, hardware sizing, ML search, and the mobile backup realities nobody mentions.
Self-Hosting GuidesImmich vs PhotoPrism: The 2026 Verdict
Immich vs PhotoPrism compared on mobile backup, ML search, performance on big libraries, and project sustainability — with a clear 2026 verdict.
Key features
- Automatic phone backup
- AI-powered search and face recognition
- Timeline and album views
- Multi-user with sharing
Quick deploy
A starting point for self-hosting Immich - check the official docs for the full set of options.
- Web port
2283
Watch out for
- Use the docker-compose.yml and .env shipped with each release - the stack (server, machine learning, Postgres with vector extension, Redis) changes between versions
- Pin IMMICH_VERSION instead of latest, and read the release notes before upgrading - breaking changes are frequent
Reverse proxy: Raise the proxy's client body size limit or large photo and video uploads fail.
Pros & cons
Strengths
- Excellent mobile apps
- Fast and feature-rich
- Very active development
Trade-offs
- Resource intensive
- Breaking changes still occur
Immich replaces
Last reviewed Aug 22, 2026 · 802 words
Immich is the best self-hosted Google Photos replacement you can run today, and the most demanding one. Plan for 4 GB of RAM, pin your version, and treat the database with respect, and it will quietly back up every photo your household takes. Skip those three things and you will eventually be restoring from backup — or worse, not restoring, because you never took one.
How much hardware does Immich actually need?
The catalogue lists 2 GB as the minimum, and that is a true minimum, not a recommendation. The stack is four containers: the server, a machine-learning service, PostgreSQL with a vector extension, and Redis. On 2 GB the ML container will get OOM-killed during the first big import. My working numbers, from running it for a family of four with roughly 90,000 assets:
| Load | RAM | CPU | Notes |
|---|---|---|---|
| Idle, library indexed | ~1.5 GB | ~0% | Postgres and Redis are most of it |
| Initial import + ML | 3.5–4.5 GB | all cores | Face detection and CLIP embedding, hours to days |
| Steady state, nightly backups | ~2 GB | brief spikes | Phone uploads at 2 a.m. |
Any Intel mini PC from the last eight years handles this. A Raspberry Pi 4 technically works but the initial ML pass over a large library can take days. Storage is the real cost: budget your current photo library size plus 30% a year, on a disk you can grow.
Use the official compose file, not a copied one
Immich is unusual among self-hosted apps: the compose stack changes between releases. The Postgres image, the ML service, and environment variables have all shifted over the project's life. Download the docker-compose.yml and .env that ship with each release from the official install docs instead of reusing one from a blog post or an old deployment.
Two lines in .env matter more than the rest:
# pin the release - never use latest for Immich
IMMICH_VERSION=v1.135.0
# on a disk with room to grow
UPLOAD_LOCATION=/srv/immich/library
Pinning matters because Immich still ships breaking changes. The project is honest about this — release notes flag them clearly — but latest plus an automated puller like Watchtower is how people end up with a server that will not start at 7 a.m. Read the notes, then bump the pin. Once a month is a fine cadence; my longer thoughts on that workflow are in container updates without fires.
The settings that separate a demo from a daily driver
- Set the upload size limit on your reverse proxy. Immich accepts multi-gigabyte videos; a default nginx
client_max_body_sizeof 1 MB fails every phone video silently. 5000 MB is a sane ceiling. - Turn on the storage template (
Settings → Storage Template) before importing, so originals land inYYYY/MMfolders. Your library stays legible outside Immich, which matters the day you migrate away. - Create one user per person, not one shared login. Partner-sharing and face recognition both work better, and you can see whose phone stopped backing up.
- Leave the ML service enabled even on weak hardware. Smart search ("beach 2019", "receipts") is the single feature that makes Immich feel like Google Photos rather than a folder of files.
Backups: the database and the files are one unit
Immich's originals live on disk, but albums, faces, edits, and users live in Postgres. Backing up one without the other gives you a pile of files and no library. Nightly, in this order: pg_dumpall from the database container, then the upload location, off the machine. The 3-2-1 backup approach applies with no modifications, and the phone is not a backup — once the app confirms upload, many people delete local copies, which makes your server the only copy on earth.
Who should pick something else
If your hardware tops out at 2 GB of RAM, or you want an install you never think about, PhotoPrism indexes an existing folder structure without demanding a multi-container stack, and the full trade-offs are in our Immich vs PhotoPrism comparison. If you only want photo files synced off your phone and no web timeline at all, Syncthing does that with 128 MB of RAM.
What I'd do
Buy a used mini PC with 8 GB of RAM and a 2 TB SSD, install the official compose stack with the version pinned, set the storage template, and point every phone in the house at it the same evening. Schedule the Postgres dump before you import your first photo, not after. Immich rewards exactly one thing: treating it like the primary copy of your family's memories, because that is what it becomes.
Compare Immich
21 head-to-head comparisons.
- Immich vs PhotoPrism
- Immich vs Ente Photos
- Immich vs LibrePhotos
- Immich vs Photoview
- Immich vs Google Photos Takeout Helper
- Immich vs Lychee
- Immich vs Piwigo
- Immich vs Memories
- Immich vs Hydrus Network
- Immich vs OwnPhotos
- Immich vs PiGallery2
- Immich vs Photonix
- Immich vs Damselfly
- Immich vs digiKam
- Immich vs HomeGallery
- Immich vs thumbsup
- Immich vs Nextcloud Photos
- Immich vs Photofield
- Immich vs Shotwell Server
- Immich vs fgallery
- Immich vs Stingle API Server
Similar photo management apps
PhotoPrism
Photo ManagementAI-powered photo app for the decentralized web
Replaces Google Photos
Ente Photos
Photo ManagementEnd-to-end encrypted photo storage and backup
Replaces Google Photos, iCloud Photos
DeepFace
Photo ManagementFace recognition and facial attribute analysis framework
Replaces AWS Rekognition, Azure Face API
gallery-dl
Photo ManagementCommand-line tool to download image galleries from websites
Replaces Manual downloads
Color Thief
Photo ManagementLibrary to extract color palettes from photos
Replaces Commercial color analysis APIs
darktable
Photo ManagementOpen-source photography workflow and RAW developer
Replaces Adobe Lightroom