Skip to main content

5 Self-Hosted Google Photos Alternatives (2026)

· 7 min read
Yassine El Haddad
Software Developer & Automation Specialist

I build production AI agents, web scrapers, and automation pipelines. Most of what I publish here comes from the actual problems they run into: proxies that get banned, anti-bot stacks that fingerprint your client, RAG that drifts when the underlying data moves. Stack: Python, TypeScript, Go, FastAPI, LangChain, Crawlee, Playwright, deployed on AWS, GCP, and Cloudflare.

Google Photos compresses originals on free plans, shares your data with Google's ad systems, and can revoke access or change terms at any time. Self-hosting your photo library keeps originals untouched on hardware you control — no compression, no data harvesting, and no per-photo storage fees beyond your VPS and attached storage.

The five options below range from a near-perfect Google Photos clone (Immich) to classic gallery software (Piwigo) and end-to-end encrypted alternatives (Ente Photos). Each has a distinct tradeoff between mobile app quality, AI features, and server resource requirements.

Immich

Immich is the closest self-hosted equivalent to Google Photos available today. It ships native iOS and Android apps with background photo backup, an ML-powered face recognition system, CLIP-based semantic search ("show me photos of the beach"), shared albums, and a web interface that genuinely resembles the Google Photos UI.

  • Stars: ~99k
  • License: AGPL-3.0
  • Stack: Node.js + Python (ML workers) + PostgreSQL + Redis + ffmpeg
  • Idle RAM: ~1.5–2 GB (without GPU; ML workers on-demand)
  • Minimum VPS: 8 GB RAM + NVMe block storage add-on
  • Setup guide: Self-Host Immich

Immich is the default recommendation for anyone replacing Google Photos. The mobile apps support burst photos, RAW files, and video. Face recognition and semantic search run locally using machine learning workers that spin up on demand. The only operational note: Immich moves fast — expect breaking changes in minor releases and read the upgrade notes before every update.

Photoprism

Photoprism is a web-based photo manager with AI-powered subject tagging, face recognition, and geo-mapping. Unlike Immich, Photoprism is oriented around browsing and organizing an existing library rather than continuous mobile backup — think of it as a self-hosted Lightroom library explorer with AI metadata.

  • Stars: ~36k
  • License: AGPL-3.0
  • Stack: Go + TensorFlow (AI tagging) + MariaDB/SQLite
  • Idle RAM: ~700 MB–1.5 GB (SQLite mode is lightest)
  • Minimum VPS: 4 GB RAM
  • Setup guide: No guide on this site yet — official Photoprism Docker docs

Photoprism's mobile sync story is weaker than Immich — the mobile app experience is a web app, not a native backup client. For teams or individuals who already have an organized photo archive and want AI-powered browsing and face grouping, it is an excellent choice. SQLite mode removes the MariaDB dependency and works well for libraries under ~500k photos.

Piwigo

Piwigo is a classic self-hosted photo gallery platform that has been in active development since 2002. It lacks AI features entirely — no face recognition, no semantic search — but compensates with a deep plugin ecosystem, multi-user permissions, watermarking, and album organization tools that photo professionals and families have relied on for over two decades.

  • Stars: ~3.5k
  • License: GPL-2.0
  • Stack: PHP + MySQL/MariaDB
  • Idle RAM: ~200–400 MB
  • Minimum VPS: 2 GB RAM
  • Setup guide: No guide on this site yet — official Piwigo installation docs

Piwigo has no native mobile backup app — photos must be uploaded manually via the web interface or the community-maintained Piwigo mobile app (which does support auto-upload on iOS and Android). It is best suited for sharing curated photo collections rather than mirroring a phone's camera roll. Its PHP + MySQL stack is familiar, easy to maintain, and extremely resource-efficient.

Ente Photos

Ente Photos is an end-to-end encrypted photo storage and sharing platform with native iOS, Android, and desktop apps. Every photo is encrypted on-device before upload, meaning the server — even when self-hosted — never has access to plaintext images. It offers albums, shared albums, and an "Ente Memories" feature similar to Google Photos' "On this day."

  • Stars: ~17k
  • License: AGPL-3.0
  • Stack: Go + PostgreSQL + MinIO (object storage)
  • Idle RAM: ~500 MB–1 GB
  • Minimum VPS: 4 GB RAM
  • Setup guide: No guide on this site yet — official Ente self-hosting docs

Ente is the right pick when end-to-end encryption is a hard requirement — for journalists, lawyers, healthcare workers, or anyone who does not want even their self-hosted server to access photo content. The trade-off is that E2E encryption means AI features (face recognition, semantic search) are not available — the server cannot process what it cannot read.

Nextcloud Photos

Nextcloud is a full self-hosted cloud storage and collaboration platform, and its Photos module is available as a bundled first-party app. If you already self-host Nextcloud for file sync, notes, and calendar, enabling Photos requires no additional infrastructure — the module runs in the same Nextcloud container.

  • Stars: Nextcloud Hub ~27k
  • License: AGPL-3.0
  • Stack: PHP + PostgreSQL/MySQL/SQLite + Redis (Nextcloud itself)
  • Idle RAM: ~1–2 GB (Nextcloud baseline) + ~200 MB for the Photos app
  • Minimum VPS: 4–8 GB RAM
  • Setup guide: No dedicated guide on this site — official Nextcloud installation docs

Nextcloud Photos is not a Google Photos replacement on its own — it is a "good enough" photo viewer for users already on the Nextcloud ecosystem. Face recognition and AI tagging require additional Nextcloud apps (Recognize, Memories) that add complexity and RAM. For a purpose-built photo experience, Immich or Photoprism are better choices; Nextcloud Photos shines when photo access is a secondary use case alongside file sync and calendaring.

Comparison table

ToolStarsLicenseIdle RAMMin VPSMobile backupE2E encryptionFace recognition
Immich~99kAGPL-3.0~1.5–2 GB8 GBYes (native)NoYes (ML workers)
Photoprism~36kAGPL-3.0~700 MB4 GBWeb app onlyNoYes (TensorFlow)
Piwigo~3.5kGPL-2.0~300 MB2 GBCommunity appNoNo
Ente Photos~17kAGPL-3.0~700 MB4 GBYes (native)YesNo
Nextcloud Photos~27k (Hub)AGPL-3.0~1–2 GB4–8 GBYes (client)NoAdd-on

Picking the right tool:

  • Closest to Google Photos (mobile backup + face recognition): Immich
  • Organized library browser with AI tagging: Photoprism
  • Privacy-first, end-to-end encrypted: Ente Photos
  • Lightweight gallery, multi-user, plugin ecosystem: Piwigo
  • Already using Nextcloud: Nextcloud Photos

Immich is the Google Photos replacement for most teams. Full setup guide →

Frequently Asked Questions

A typical smartphone camera produces 3–8 MB per photo (HEIC/JPEG) and 30–150 MB per video. A family with 100,000 photos and 5,000 videos needs roughly 500 GB to 1.5 TB of storage. Liquid Web's managed VPS plans include NVMe SSD block storage add-ons that attach to your VPS — provision what you need now and expand later. For large collections, a dedicated storage volume is more cost-effective than oversizing the primary VPS disk.

Yes. The Immich iOS and Android apps support background auto-backup of new photos and videos. You can configure which albums to back up, set backup over Wi-Fi only, and choose between full-resolution and compressed uploads. The experience is comparable to Google Photos' auto-backup. Immich also imports existing libraries via the web interface or CLI bulk upload tool.

Self-hosting shifts backup responsibility to you. The recommended approach: store originals on the VPS's attached block storage, and configure a nightly backup job using restic or rclone to push to object storage (Backblaze B2, S3-compatible) as a second copy. Immich's official docs include a backup runbook. Do not treat a single VPS as your only copy of irreplaceable photos — the 3-2-1 rule (3 copies, 2 media types, 1 offsite) applies just as much to self-hosted setups.