GitHub Repos intermediate 3 min read May 25, 2026
Public Preview Sign in free for the full digest →

Immich: Self-Host Google Photos With CLIP Search

“101,731 developers starred a self-hosted Google Photos replacement that runs CLIP semantic search on a Raspberry Pi 4 — and it just went stable with institutional backing.”

Immich: Self-Host Google Photos With CLIP Search
Source · github.com

“"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.

self-hostedopen-sourcetypescriptflutterphoto-managementclipdocker

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.

01
CLIP semantic search — type a natural language description and find photos by visual content without tagging anything; the ML container indexes at upload time so queries against pre-computed vectors return in milliseconds on any library si...
02
Facial recognition and clustering — groups faces across your entire library so you can browse by person, processed entirely locally without sending any data to an external service
03
Flutter mobile apps for iOS and Android with auto-backup — phone photos upload automatically when the app opens or in the background; photos already synced are accessible offline
04
External library support — point Immich at an existing folder structure (e.g., a Nextcloud directory) and it indexes without moving your files, preserving whatever organization you already maintain
05
PostgreSQL daily auto-dumps to UPLOAD_LOCATION/backups/ — the database backup runs on a built-in schedule so backing up one directory captures both photos and all metadata, face clusters, and album data
06
OAuth support and API keys — integrate with your existing identity provider or generate tokens for scripted workflows such as the Signal backup to album pipeline described by HN users
07
LivePhoto and MotionPhoto backup and playback — Apple and Google motion photo formats play back correctly in both the mobile app and the web gallery without conversion
Who it’s for

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.

Worth exploring

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.

Developer playbook
Tech stack, code snippet, sentiment, alternatives.
PM playbook
Adoption angles, user fit, positioning.
CEO playbook
Traction signals, ROI, build vs buy.
Deep-dive insight
Full long-form analysis, no fluff.
Easy mode
Core idea, fast — when you need the gist.
Pro mode
Technical nuance, edge cases, tradeoffs.
Read the full digest
Go beyond the preview

Deep-dive insight, Easy and Pro modes, plus action playbooks — the full breakdown is one tap away.

Underrated tools. Unfiltered takes.

Read the full digest in the Snaplyze app for deep-dive insight, Easy and Pro modes, and the playbooks you can actually use.

Install Snaplyze →