Can you self-host your photos? Yes — and July 2026 is the loudest moment yet for the idea. Immich 3.0 hit Hacker News the same week (286 points, 141 comments) while v3.0.1 patched mobile album display. The thread was not really about slideshow UX — it was about trust: Who can see your library? What does self-hosting cost in money and time? And do you need end-to-end encryption or just disk you control?
This post answers those questions — Immich 3.0 in context, Ente as the E2EE alternative, real cost math, and bgblur.com when you share faces outside your trusted circle.
TL;DR — should you self-host?
| Question | Short answer |
|---|---|
| Can I replace Google Photos? | Yes — Immich 3.0 is the closest open-source match for backup + search + sharing |
| Is it free? | Software is free (AGPL); hardware, power, backups, and your time are not |
| Is it private? | More control, not automatic secrecy — you secure the server, network, and shares |
| E2EE? | Immich: no · Ente: yes — pick based on threat model |
| Immich 3.0 worth upgrading? | Yes if you run v2 — mobile editing, integrity checks, backup fixes |
| Blur faces before public share? | Yes when consent is unclear — bgblur.com for quick anonymization |
Immich 3.0 — what shipped (July 1–2, 2026)
Immich crossed 105k GitHub stars with v3.0.0 — the first major with release candidates beforehand.
| Feature | Why it matters |
|---|---|
| Mobile non-destructive editing | Crop/rotate on thumbnails without destroying originals — closer to Apple Photos workflow |
| Workflows (preview) | Drag-and-drop automation — triggers, filters, actions (tagging, etc.) |
| Recently Added page | Faster "what landed this week" browsing |
| Integrity checks | Detect DB/file mismatches before silent corruption spreads |
| Background backup improvements | Android scheduler uploads full library; iOS parallel refresh |
| HLS + real-time transcoding (preview) | Smoother web video without waiting for full transcode |
| New web video player | Consistent controls; fixes iOS layout pain |
| OCR on mobile | Search text inside screenshots and documents |
Upgrade path: set IMMICH_VERSION=v3 in .env, run usual Docker compose pull/up. Migration guide — drops pgvecto.rs; mostly API breaking changes for third-party tools, not typical family users.
We maintain a longer Immich overview; this post focuses on 3.0 + privacy economics.
The HN argument — E2EE, trust, and "whose computer?"
The July 2026 thread split along predictable lines:
"Immich is fine — I trust my homelab"
- You control disk, backups, and network exposure
- LUKS / ZFS encryption at rest on the NAS protects stolen hardware
- Tailscale or WireGuard avoids exposing Immich to the open internet — the pattern TREK homelab users and Immich operators share
"I want E2EE — use Ente"
- Ente encrypts client-side before upload — provider sees blobs, not faces
- Polished mobile apps, 10GB free hosted tier, self-host escape hatch
- Tradeoff HN users cite: key loss = data loss unless recovery is set up; upload reliability complaints on self-hosted Ente vs Immich for huge libraries
"Encryption at the wrong layer"
Several commenters noted: on self-hosted Immich, you are the operator — E2EE mainly matters when a third party hosts disks (managed VPS, small cloud seller). Full-disk encryption + VPN is the homelab answer; Ente is the "hosted but blind provider" answer.
| Threat | Immich + homelab | Ente E2EE cloud |
|---|---|---|
| Google reading photos | ✅ avoided | ✅ avoided |
| Stolen NAS at home | Disk encryption helps | N/A (blobs remote) |
| Rogue VPS admin | N/A if self-hosted | ✅ ciphertext only |
| You lose encryption keys | N/A | ❌ catastrophic |
| Family "just works" support | You are IT | Ente closer to consumer UX |
Neither replaces consent discipline when sharing links publicly.
Real cost math — self-host vs Google One
Illustrative 2026 numbers for a 2TB family library:
| Line item | Self-host (Immich on NAS) | Google One 2TB |
|---|---|---|
| Upfront hardware | $200–600 (NAS or mini PC + disks) | $0 |
| Electricity (~25W 24/7) | ~$6–10/mo | bundled |
| Subscription | $0 (AGPL software) | ~$10/mo |
| Your time (updates, backups) | 2–8 hr/mo | ~0 |
| 3-2-1 backup media | Extra disk or cloud sync ~$5–15/mo | Google's problem |
| 5-year total (rough) | $800–1,500 + labor | ~$600 |
Self-host wins when:
- Library exceeds cheap cloud tiers
- You already run a homelab (Immich pairs with other stacks)
- You want partner sharing without training Google on kids' faces
- AGPL sovereignty matters for compliance narratives
Cloud wins when:
- You will not maintain Docker upgrades
- Family expects Apple/Google-grade "it just syncs"
- Off-site disaster recovery without designing it yourself
Privacy beyond storage — blur before you publish
Self-hosting removes Google's indexer; it does not remove consent when you:
- Share public upload links for weddings and events (Immich supports anonymous album uploads — Immich Public Proxy patterns for exposing only
/share) - Post screenshots to LinkedIn / X (C2PA labels disclose AI; they do not blur children)
- Export press or marketing stills
bgblur.com — browser-based AI face blur for photos and video:
- Face blur tool — detect multiple faces, adjust strength, blur vs pixelate
- Video face blur — tracked anonymization across frames
- Selective blur — hide bystanders, keep speakers (consent-based)
- Files processed for the session; privacy-first marketing claims no permanent storage — still treat any cloud tool as untrusted for highly sensitive material; run local tools when paranoia is appropriate
We covered plate and object blur in AI privacy for video — same principle: redact before distribution, not only before upload.
Workflow: Immich for archive → bgblur for publishable subset → social or public album.
Operational patterns that work (from HN + docs)
Read-only external libraries
Point Immich at a read-only NAS mount — manage files yourself; Immich indexes without owning the canonical tree. External libraries have been available for years; 3.0's integrity checks help catch drift.
NAS /photos/YYYY/MM → docker volume :ro → Immich external library job
Google Takeout → Immich
Pain points from HN:
- 50GB browser download limits — use
curlwith session cookies to NAS directly - Windows extract — native extract fails on 4GB+ zips; use 7-Zip
- immich-go — recreates Google Photos albums; resume after server errors
Budget days for 700GB+ imports, not an afternoon.
Network exposure
| Pattern | Risk | HN sentiment |
|---|---|---|
| Tailscale / WireGuard only | Low public attack surface | Preferred |
| Cloudflare Tunnel | Convenient; watch 100MiB upload limits on video | Popular compromise |
| Raw port forward | Brute force, CVE rush | Discouraged without CrowdSec |
Backups
Immich README: 3-2-1. HN horror stories: upgrade without DB snapshot → months of pain. v3.0 integrity checks help early detection — they do not replace backups.
Immich 3.0 vs Ente — pick your tradeoff
| Immich 3.0 | Ente Photos | |
|---|---|---|
| Primary design | Self-hosted Google Photos UX | E2EE first; cloud or self-host |
| Face / CLIP search | Server-side ML | Client-assisted; evolving |
| Public event upload links | Strong Immich feature | Album contribute links |
| License | AGPL-3 | Open source clients + server |
| Best for | Homelab families, 2TB+ libraries | Privacy cloud with encryption keys |
| July 2026 buzz | 3.0 launch, 105k stars | GrapheneOS migrants, encryption |
You can run both: Ente for pocket daily sync, Immich for home archive master — if you accept duplicate ops (most people pick one).
What people still complain about (honest)
From HN and GitHub discussions — not Immich marketing:
- iOS backup historically filled phone storage; 3.0 improves scheduling — verify on your library size
- External library + multi-user thumbnail duplication (same image, per-user embeddings) — roadmap item
- Nested albums / Lightroom-style folders — still awkward for power organizers
- No Immich E2EE — feature request, not roadmap commitment
- Upgrade anxiety — DB migrations on personal archives are stressful; use RC discipline and snapshots
Checklist before you switch
- Size your disk — library + thumbnails + ML embeddings ≈ 1.3–2× raw photo size
- Plan 3-2-1 backups before importing Google Takeout
- Choose access — Tailscale first; public internet last
- Decide E2EE need — homelab only vs hosted VPS → Immich vs Ente
- Test mobile backup on a small album before 20k photos
- Blur faces on anything public — bgblur.com
- Upgrade to v3 —
IMMICH_VERSION=v3, read migration guide
Related Reading
- EU driver-facing camera law (2026) — ADDW privacy & bgblur.com
- Immich: Self-Hosted Photo Library (Overview)
- Blur License Plates and Video Privacy (BGBlur)
- LinkedIn & X AI Image Labels — C2PA
- TREK — Self-Hosted Travel Planner
- files.md — Local-First Notes
Immich v3.0.1 and HN discussion accurate as of July 3, 2026. Official: immich.app, v3.0.0 release notes, GitHub releases. Cost figures are illustrative — meter your hardware and power locally.
