Skip to main content
Self-Hosted

Self-Hosted Photos in 2026: Immich, NAS, and Migration Guide

Practical hub for self-hosting your photo library in 2026 — Immich vs PhotoPrism vs Synology Photos, what hardware you need, and how to migrate off iCloud and Google Photos.

📸
Already decided on Immich?
Jump to the full Immich review with Coral TPU + ROCm setup (4TB migration, 8 months in).

Own your photo library — no iCloud, no Google Photos, no monthly fee. This guide covers picking the right app, the hardware you need, migrating off cloud, and the mistakes that bite you later. Everything here is from running 4TB of family photos on real homelab hardware.

🎯 Why Self-Host Photos in 2026

💰
Save $30-35/mo
NAS pays for itself in 12-18 months
🔒
Full Privacy
Face data + locations stay on your hardware
🛡️
No Deletion Risk
Google has terminated accounts + photos
🔍
Better Search
Face clustering, semantic search, OCR

The trade-off: you’re your own IT department. Backups, hardware, updates. If you already run a homelab or NAS, the overhead is minimal — ~2 hours setup, ~1 hour/quarter maintenance.

📊 Immich vs PhotoPrism vs Synology Photos

ImmichPhotoPrismSynology Photos
Best forGoogle Photos replacementStability + clean UIZero-config Synology owners
📱 Mobile appExcellent (iOS + Android)Decent (PWA)Functional but slow
☁️ Auto backup✅ Reliable background❌ Manual / syncthing✅ Native integration
👤 Face recognition✅ Accurate✅ With retraining⚠️ Basic
🔍 Semantic search✅ CLIP-based⚠️ Limited tags❌ Subject + place only
👨‍👩‍👧‍👦 Multi-user✅ Shared albums⚠️ Limited✅ Yes
⚡ HW accelerationCoral, NVIDIA, ROCm, AppleNVIDIA onlySynology models only
⏱️ Setup time~30 min (Docker)~20 min (Docker)~3 min (App Store)
Bottom line: For new builds in 2026, Immich is the answer. It’s the only one keeping pace with Google Photos. PhotoPrism is solid but slower-moving. Synology Photos works if you already own a Synology and don’t want to think.

🖥️ Hardware You Need

Storage Sizing

Rough math: 2-4 MB per photo, 50-500 MB per minute of video. Family of 4 with iPhones = 60-120 GB/year.

Up to 2 TB
Single NVMe in any homelab box. NAS optional.
2-8 TB
2-bay NAS in RAID 1. Synology DS224+ is the sweet spot.
8 TB+
4-bay NAS in SHR/RAID 5. Separate offsite backup target.

ML Acceleration Options

  • 🪸
    Google Coral USB ~$60 — Best value
    Plug into your NAS via USB. Handles object detection well.
  • 🟢
    NVIDIA GPU (GTX 1660+) Fastest option
    Required for serious CLIP semantic search.
  • 🍎
    Apple Silicon (Mac Mini/Studio) Silent, low-power
    Metal Performance Shaders accelerate Immich’s ML well.
  • 🔷
    Hailo-8L M.2 Coral alternative
    Drops into an M.2 slot, similar performance.

🚚 Migration Paths

📱 Off Google Photos
Use Google Takeout. Export as .zip, multi-part for libraries >50 GB. Import via Immich’s CLI uploader — it handles the JSON sidecar metadata and reattaches dates. Total: 12-24 hours for 1 TB on 100 Mbps.
🍎 Off iCloud Photos
Use icloudpd (open-source Python tool) — authenticates with Apple ID, pulls everything with original timestamps. For 4 TB of photos, parallel downloads run about 36 hours.
📦 Off Amazon / Dropbox / OneDrive
All offer bulk download via desktop sync clients. Set destination to your homelab box, let it sync, point Immich’s library importer at that folder. Cleanest migration of the three.

⚙️ My Setup (Running 8 Months)

Two-tier: Synology DS224+ as storage (RAID 1, two 4 TB WD Red Plus, 4 TB usable) + separate Linux box running Immich in Docker with NVIDIA GPU for ML. Storage and compute scale independently — same box also runs Frigate cameras and local LLMs.

Backups: 3-2-1 strictly — three copies, two media types, one offsite. USB external rotates weekly + remote rsync to a friend’s house. Photos are the one thing worth doing this right.

⚠️ Common Mistakes

  • ❌ Consumer drives in 24/7 NAS — they die fast. NAS-rated (WD Red Plus) costs one Google One month more and lasts years longer.
  • ❌ RAID 0 “because I have backups” — when a drive dies you spend a weekend restoring. RAID 1 mirror saves that hassle.
  • ❌ No offsite backup — RAID is not a backup. Fire, theft, ransomware can take everything.
  • ❌ Everything on a Raspberry Pi — Pi 5 can serve photos but ML processing crawls. Offload ML to a more capable box.
  • ❌ All eggs in Synology Photos — locks you in. Use Immich on top of Synology storage instead.

🔗 Where to Go Next

📸 Immich Review (4TB Migration)

Real review after migrating 4TB off Google. Coral + ROCm setup, 8 months in.

🛒 Homelab Hardware Guide

Tested picks for NAS, GPUs, accelerators, and mini PCs.

🎯 LLM Hardware Checker

Same homelab can run local AI. Check if your hardware is up to it.

Build This Stack

Affiliate links — helps support testing at no extra cost to you.

Synology DS224+
2-bay NAS — handles 4TB family library
Check price →
WD Red Plus 4TB (x2)
NAS-rated, RAID 1 = 4TB usable
Check price →
Google Coral USB
Cheapest ML acceleration
Check price →
APC Back-UPS Pro 1500
Power protection for the NAS
Check price →
Cloud-host instead
DigitalOcean — Immich on a Droplet
$200 credit →

Frequently Asked Questions

What is the best self-hosted photo library in 2026?

Immich. Best mobile app, most active development, closest to Google Photos. PhotoPrism is runner-up for stability.

How much storage do I need?

~1GB per 200-400 photos. Family of 4: plan 2-4TB for 5 years. Synology DS224+ with two 4TB WD Red Plus in RAID 1 = 4TB usable.

Do I need a GPU or Coral TPU?

Not required but much faster. CPU takes days for large libraries. Coral USB (~$60) handles object detection. NVIDIA GPU or Apple Silicon speeds up semantic search.

Is Immich a true Google Photos replacement?

Yes for most users. Timeline, albums, faces, search, mobile backup, sharing — all work. After 8 months with 4TB, it’s been a clean swap.

How do I migrate from iCloud or Google Photos?

Google: Takeout + Immich CLI. iCloud: icloudpd. Amazon/Dropbox/OneDrive: desktop sync → Immich library importer.

What about backups?

3-2-1 rule: three copies, two media types, one offsite. RAID protects against drive failure, not deletion or fire.