“"After stopping for years because it was hard to view them easily, I'm finally taking photos again because of Immich." — stavros, Hacker News (https://news.ycombinator.com/item?id=45446834)”
You know that feeling when you hit Google Photos' storage limit and face a monthly subscription just to keep your own memories accessible? Or when you realize a company is scanning every photo you've taken as part of its data pipeline? You want Google Photos-quality search and auto-backup — but without handing photos to a company that can change its pricing, policy, or existence. The obvious alternative — organizing photos in folders on a NAS — means losing smart search, face grouping, and mobile auto-backup entirely.
You run four Docker containers on any Linux machine: a NestJS API server, a SvelteKit web app, PostgreSQL (which stores metadata, face data, and CLIP vectors via the pgvector extension), and a Python ML container that handles AI work. When you upload a photo, the ML container generates a CLIP embedding — a numerical fingerprint of the image's visual content — and stores it in the database. When you search 'black cat on blue carpet,' the same CLIP model converts your text to a vector and finds the closest image vectors in PostgreSQL, returning results in milliseconds. Photos themselves are stored as plain files on your filesystem, not locked in a proprietary database.
If you already run Docker on a home server or VPS and want to escape Google Photos storage fees without losing AI search or mobile auto-backup, Immich is built for you. It is also the right fit for anyone managing a family photo library where keeping data off third-party servers matters more than convenience. Not the right pick yet if you need a native S3/object storage backend (block storage or local disk only), E2E encryption at rest, or OS-native packages without Docker.
Yes, for anyone already running Docker at home — Immich hit stable (v2.0.0) in October 2025 and is now at v2.7.5 with multiple releases per month and 916 contributors under FUTO institutional backing. The two genuine gaps to check before adopting: no native S3 object storage (you need block storage or a local drive, which matters for cloud deployments), and no E2E encryption at rest (photos sit as plaintext on your server). If neither is a dealbreaker, this is production-ready.
Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.