# Hardware Recommendations for Immich > Guidance for upgrading hardware to run Immich smoothly, especially for ML-heavy workloads (face detection, smart search, OCR). ## The Bottleneck: Immich ML Immich's background ML jobs (smart search, face detection, facial recognition, OCR, thumbnail generation) are **CPU-intensive** on low-power hardware. Without a GPU, these jobs run entirely on the CPU and can saturate available cores for hours or days after a large import. ### What Each Job Consumes | Job | CPU Usage | GPU-Accelerated? | |-----|-----------|------------------| | `metadataExtraction` | Light | No | | `thumbnailGeneration` | Medium | Yes (ffmpeg GPU encode) | | `smartSearch` (CLIP) | **Heavy** — 5-10 sec/image on CPU | Yes (CUDA) | | `faceDetection` | **Heavy** | Yes (CUDA) | | `facialRecognition` | **Heavy** | Yes (CUDA) | | `OCR` | **Heavy** | Partial | | `videoConversion` | **Very Heavy** — 3-5 min/video on CPU | Yes (NVENC) | ## Hardware Tiers ### 🟢 Tier 1: Low-Power Mini PC (HP EliteDesk, Dell OptiPlex Micro, Lenovo Tiny) **Example:** HP EliteDesk 800 G2 DM (i5-6500T, 7GB RAM, no GPU) | Pro | Con | |-----|-----| | ~15W idle, ~$65/yr power | ML jobs take **days** on CPU | | Silent, tiny, cheap | RAM limited (often 7-16 GB, non-upgradable) | | Great for basic serving | No PCIe slot — **cannot add a GPU** | **Best for:** Light usage (<5K photos), no ML features needed. Accept background jobs running for days. ### 🟡 Tier 2: SFF Office PC (Dell OptiPlex SFF, HP EliteDesk SFF) **Example:** Dell OptiPlex 3420 SFF (i7-6700, 64GB RAM) | Pro | Con | |-----|-----| | 64GB RAM support | Only fits **low-profile GPUs** (rare, pricier) | | Slightly better CPU | Still limited cooling | | Cheap used ($100-150) | GPU search is a pain | **GPU options (low-profile, 75W, no extra power cable):** - GTX 1650 LP (~$120 used) — best performance for ML - GT 1030 (~$50) — **avoid**, no CUDA, useless for ML - RTX 3050 LP (~$180) — very rare in LP form ### 🟢 Tier 3: Mini Tower Office PC (Dell OptiPlex MT, Precision Tower) **Example:** Dell OptiPlex 7050 MT / Precision Tower 3420 | Pro | Con | |-----|-----| | Full PCIe slot — fits any GPU | Larger case | | Often has SSD bay + HDD bay | Older CPUs (6th-7th gen) | | Cheap used ($100-200) | Usually 16GB RAM (upgradable) | **Best GPU for the money — GTX 1050 Ti 4GB (~$60-80 used):** - 75W — no extra power cables, runs off PCIe slot - 768 CUDA cores — good for YOLO and Immich ML - Drops ML job time from **days to hours** - ~$35/yr extra power over a mini PC **GPU upgrade paths (all 75W, no cables needed):** | GPU | Used Price | ML Speed vs 1050 Ti | VRAM | Verdict | |-----|-----------|---------------------|------|---------| | **GTX 1050 Ti** 🏆 | **$60-80** | 1x (baseline) | 4GB | Best budget pick | | GTX 1650 | $100 | ~1.2x | 4GB | Slightly faster, pricier | | **RTX 3050 6GB** 🏆 | **$150** | **~3x** (Tensor Cores) | **6GB** | Best value — ~3x faster for ~2x price | ### 🟣 Tier 4: Modern Desktop (Dell XPS, custom build) **Example:** Dell XPS 8950 (i5-12500K, 32GB DDR5, PCIe 4.0 x16) | Pro | Con | |-----|-----| | **10 cores** (6P+4E) — 3x CPU perf vs i7-6700 | More expensive | | DDR5 RAM — much faster memory bandwidth | Larger power draw at idle (~40W) | | PCIe 4.0 slot — no GPU bottleneck | | | Good for both serving AND processing | | **With a GPU, this tier finishes Immich ML queues in ~30-60 minutes vs days on a mini PC.** ## Power Consumption Comparison (24/7, $0.13/kWh) | Setup | Idle | Under Load | Yearly Cost | |-------|------|-----------|-------------| | Mini PC (no GPU) | ~15W | ~45W | **~$65** | | SFF / MT + GTX 1050 Ti | ~40W | ~140W | **~$100** | | SFF / MT + GTX 1650 | ~40W | ~140W | **~$100** | | SFF / MT + RTX 3050 | ~40W | ~145W | **~$100** | | Modern desktop + GPU | ~50W | ~250W | **~$140** | ## Quick Recommendations **"I want it cheap and don't mind waiting"** → HP mini, no changes **"I want it faster, budget $200"** → Used OptiPlex MT + GTX 1050 Ti ($100 + $60) **"I want it fast, budget $400"** → OptiPlex MT + RTX 3050 6GB + SSD **"I want it blazing"** → Modern desktop + RTX 3050/4060