Leaving Google Photos for Immich with local AI search
What they built
Immich's smart search runs every image through a CLIP model to create an embedding, so you can search by description. Face recognition runs its own detection pass. Both are batch machine-learning jobs.
On the author's i7-6700K they barely progressed, so search stayed useless and they kept going back to Google. Adding a GPU to the ML container fixed that, and they deleted Google Photos.
Setup
- Home-lab NAS with an Intel i7-6700K
- NVIDIA GTX 1070 (Pascal) in Immich's machine-learning container with CUDA
- Immich mobile app with auto-backup and shared albums
Results & numbers
- Embedding and face jobs went from days to overnight
- After indexing, text and face search are instant
Gotchas
- Newer cuDNN dropped Pascal support; it only works because Immich pins an older cuDNN
- GPU drivers must stay a bit out of date; upgrading breaks Immich
“the heavy lifting happens during indexing, not at query time.”— XDA Developers
Do it yourself
- Deploy Immich with its machine-learning container
- Enable CUDA acceleration for the ML container if you have an NVIDIA GPU
- Run the Smart Search and face detection jobs and let them finish
- Install the mobile app and turn on auto-backup
Related
Home RAG assistant for embedded-systems docs on Proxmox
Ollama, llama.cpp, Open WebUI, BGE-M3 and SearXNG in a GPU-passthrough VM. Moving from 6 GB to 16 GB of VRAM changed which models could run.
Auto-tagging documents in Paperless-ngx with Ollama
Since version 3.0, Paperless-ngx suggests titles, senders, document types and tags, and can chat with your documents, using a local Ollama model.
Self-hosted bookmarks that tag themselves with local AI (Karakeep)
Karakeep (formerly Hoarder) runs on a Debian LXC, and gemma3:4b in Ollama tags each bookmark. Getting reliable tags from a small model takes one key setting.
Paperless AI on an 8 GB RTX 3060 Ti shared with Frigate
Gemma 3 4B with embeddinggemma answers over 1,318 documents in about 5 seconds, on a GPU that's also running Frigate and Plex.