cd /news/machine-learning/self-host-immich-i-measured-what-goo… · home › topics › machine-learning › article
[ARTICLE · art-160906] src=dev.to ↗ pub= topic=machine-learning verified=true sentiment=· neutral

Self-host Immich: I measured what Google Photos replacement actually costs in RAM

A developer at FreeTierWatch deployed the self-hosted Google Photos alternative Immich as a four-container Docker Compose stack and measured its resource footprint, finding a settled working set of roughly 2.4 GB of RAM across the server (962 MB), machine-learning (928 MB), vector-enabled Postgres (465 MB) and Valkey (14 MB) containers. The stack pulled 4.7 GB of images and took about 2.5 minutes to start, while CPU-based ML smart search returned the correct photo for "sunset over water" in 2.2 seconds. The measurements show the ML search and face recognition features, not the gallery itself, drive the multi-gigabyte memory cost.

by read2 min views1 publishedOct 30, 2026

Originally published on FreeTierWatch, where we actually deploy and measure what we write about.

Immich is the self-hosted Google Photos replacement — 115,000+ GitHub stars, mobile apps with automatic backup, face recognition, and ML-powered search ("sunset over water" actually finds your sunset photos). It's the app that convinced a generation of self-hosters that leaving Google Photos was possible.

It's also the heaviest thing we've deployed in this series. Where Vaultwarden runs in 14 MB and Uptime Kuma in ~150 MB, Immich is a four-container stack that wants gigabytes. We deployed it, uploaded photos, ran the ML search, and measured what it really costs.

Immich ships its own Compose file — use it rather than hand-rolling:

mkdir immich && cd immich
curl -LO https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
curl -L -o .env https://github.com/immich-app/immich/releases/latest/download/example.env

Edit .env before starting — two changes are non-optional:

DB_PASSWORD=$(openssl rand -hex 16)

TZ=Asia/Kolkata

Also note UPLOAD_LOCATION=./library — point this at your biggest disk; it's where every photo lives.

docker compose up -d

First start pulled 4.7 GB of images (server 2.44 GB, machine-learning 1.1 GB, Postgres-with-vector-extensions 989 MB, Valkey 180 MB) and took ~2.5 minutes on our connection. Then open http://localhost:2283, create the admin account, and click through onboarding.

Container RAM (settled, 5 photos processed) Notes
immich_server 962 MB Peaked at 1.3 GB during initial processing
immich_machine_learning 928 MB ~200 MB idle; balloons when generating embeddings
immich_postgres 465 MB Vector-enabled Postgres (pgvecto.rs/VectorChord)
immich_redis (Valkey) 14 MB
Total working set ~2.4 GB
Other metrics Measured
Images on disk 4.7 GB
Database size (5 photos) 330 MB (ML models + vector indexes dominate)
Upload speed 5 photos (470 KB avg) in 235 ms via API
ML smart search "sunset over water" → correct photo ranked #1, 2.2 s on CPU
Server restart to ready 5 s

The headline: the machine-learning magic is real and runs fine on CPU — but it's why this stack needs several GB of RAM where a plain photo gallery would need 200 MB. That's the trade: Google-Photos-grade search, Google-Photos-grade resource bill (except you pay in RAM, not rupees).

DB_PASSWORD break the connection string — the env file warns you; believe it. Alphanumeric only.docker compose pull. immich-machine-learning service entirely — uploads and browsing work; you lose smart search and face recognition.library folder AND a pg_dump — the official docs have a

── more in #machine-learning 4 stories · sorted by recency
── more on @immich 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/self-host-immich-i-m…] indexed:0 read:2min 2026-10-30 · —