Skip to main content

Immich vs Ente vs Lychee: Self-Hosted Photos 2026

·OSSAlt Team
self-hostedphotosdockerprivacy

Immich vs Ente Photos vs Lychee: Self-Hosted Photo Management 2026

TL;DR

Immich is the best all-around Google Photos replacement — face recognition, mobile auto-backup, machine learning search, and 50,000+ GitHub stars reflect genuine community trust. Ente Photos wins for end-to-end encryption and privacy-first design — it's the only option here where even the server operator can't see your photos. Lychee is for sharing, not backup — a beautiful, lightweight PHP gallery for portfolios and public albums, not a replacement for cloud photo libraries. Pick Immich for daily driver backup, Ente for maximum privacy, Lychee for public photo sharing.

Key Takeaways

  • Immich: 50,000+ GitHub stars, TypeScript+Go stack, face clustering, ML-powered search, auto-backup from iOS and Android
  • Ente Photos: ~12,000 GitHub stars, E2EE (server operator can't decrypt), AGPL-3.0, Go server, audited codebase
  • Lychee: ~3,500 GitHub stars, PHP gallery app, no backup client, best for public portfolio sharing
  • Resource footprint: Immich needs 4GB RAM for ML features; Ente runs on 1GB; Lychee runs on 512MB
  • All three support Docker — but Immich's Compose stack is the most complex to configure
  • Ente is the only one with zero-knowledge encryption — Immich and Lychee can see your photos if they have server access

The Self-Hosted Photos Landscape in 2026

Google Photos raised prices. iCloud got more expensive for storage beyond 200GB. Apple's scanning proposals reignited privacy debates. The result: a wave of developers and privacy-conscious families moved their photo libraries to self-hosted alternatives.

But the self-hosted photo space has fractured into three fundamentally different categories:

  1. Full backup replacement (Immich) — replaces Google Photos entirely, auto-backup included
  2. Privacy-first cloud (Ente Photos) — end-to-end encrypted, mobile-first
  3. Gallery and sharing (Lychee) — beautiful album presentation, not a backup solution

Understanding which category you need saves hours of configuration.


Immich: The Google Photos Replacement

Immich launched in 2022 and grew to over 50,000 GitHub stars faster than almost any self-hosted project in history. The growth reflects how thoroughly it solves the Google Photos replacement problem.

What You Get

The core experience: install Immich, install the mobile app, enable auto-backup. Your phone uploads photos and videos to your server. The web UI looks and feels like Google Photos — timeline view, albums, face clusters, location map.

Under the hood:

  • Face recognition powered by InsightFace — groups faces across your library without any manual tagging
  • Machine learning search — search "beach sunset" or "birthday cake" and it actually works
  • Albums and shared libraries — create albums, share with family, set permissions
  • Smart duplicates — detects and surfaces potential duplicate photos
  • Video support — transcodes videos on-the-fly for browser playback via FFMPEG
  • Mobile apps — iOS and Android with background sync, charging-only mode, WiFi-only option

Docker Setup

Immich requires Docker Compose with several services:

services:
  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    volumes:
      - /path/to/photos:/usr/src/app/upload
    env_file: .env
    depends_on:
      - redis
      - database

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - model-cache:/cache

  redis:
    image: redis:6.2-alpine

  database:
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    # PostgreSQL with pgvecto-rs for vector search

The official Compose file handles everything — download it, fill in the .env, run docker compose up -d. First startup takes 5–10 minutes as ML models download.

Resource Requirements

ComponentMinimumRecommended
RAM2GB4GB+
CPU2 cores4 cores (for ML)
StorageDepends on librarySSD for DB, HDD for photos
GPUOptionalDramatically speeds up ML indexing

The machine learning service (face recognition, smart search) is the RAM driver. You can disable it for a lighter footprint, but you lose two of Immich's best features.

Caveats

Immich is still pre-1.0 by its own versioning convention — the team releases frequently (weekly/biweekly) and breaking changes happen. Always back up your database before upgrading. Migration scripts are provided but version-skipping has caused issues for some users. The Discord community is active and the issue tracker is well-maintained.


Ente Photos: End-to-End Encrypted Self-Hosting

Ente Photos is architecturally different from Immich in one critical way: your encryption key never leaves your device. The server stores encrypted blobs it cannot decrypt. This is true zero-knowledge cloud storage applied to photos.

The E2EE Architecture

Ente uses libsodium (XChaCha20-Poly1305) for encryption. Your master key is derived from your password client-side. Photos are encrypted before upload. The server receives ciphertext — if someone compromises the server, they get encrypted data they can't read without your key.

This has real-world implications:

  • You can't lose access to an admin account and recover photos without your key
  • Face recognition happens on-device — no server-side ML processing
  • Search is limited — full-text ML search like Immich's isn't possible server-side with E2EE

The tradeoff is clear: Immich does more; Ente is safer.

Server Setup

Ente's server is a single Go binary with PostgreSQL and object storage:

services:
  ente:
    image: ghcr.io/ente-io/server:latest
    environment:
      ENTE_DB_HOST: db
      ENTE_S3_ENDPOINT: http://minio:9000
      ENTE_JWT_SECRET: your-jwt-secret
    depends_on: [db, minio]

  db:
    image: postgres:15-alpine

  minio:
    image: quay.io/minio/minio
    # S3-compatible storage — or use an existing S3 bucket

Ente supports any S3-compatible storage backend — MinIO locally, Backblaze B2, Cloudflare R2, or AWS S3. This is a significant advantage: your photo storage is separated from your server, so you can run the compute on a small VPS while photos live on cheap object storage.

Mobile Apps

Ente's iOS and Android apps are polished — auto-backup, album sharing, family plans, shared albums with non-Ente users (via links). The face clustering runs on-device, which is slower than Immich's server-side ML but maintains the privacy model.

The apps are notably more stable than Immich's mobile experience, which can have sync edge cases.

Who Ente Is For

Journalists, lawyers, activists, families who want to ensure a cloud provider (even themselves, if the server is ever compromised) can never access their photos. The audited codebase (available at ente.io/security) provides documentation of the security model.


Lychee is a different animal. It's not a backup client, not a Google Photos replacement, not a family photo library. It's a self-hosted gallery platform — think Flickr or 500px for your own domain.

What Lychee Does

  • Upload photos via web browser or API
  • Organize into albums with custom covers
  • Password-protect individual albums
  • Public sharing with beautiful presentation
  • RSS feeds for albums
  • EXIF data display

What Lychee Doesn't Do

  • No mobile auto-backup — you upload manually
  • No face recognition — it's a gallery, not a library
  • No timeline view — albums and folders, not a continuous photo stream
  • No duplicate detection — curator responsibility

Setup

Lychee is a PHP application — deploy on any web server:

services:
  lychee:
    image: lycheeorg/lychee
    ports:
      - "80:80"
    volumes:
      - ./uploads:/var/www/html/public/uploads
      - ./sym:/var/www/html/public/sym
    environment:
      DB_CONNECTION: mysql
      DB_HOST: db
      DB_DATABASE: lychee

Resource footprint: 512MB RAM, any modern CPU. Lychee runs on the cheapest VPS plans.

Lychee is best for: Photographers sharing portfolios, families curating holiday albums for public sharing, bloggers wanting a self-hosted image gallery.


Side-by-Side Comparison

DimensionImmichEnte PhotosLychee
PurposeFull Google Photos replacementE2EE cloud photo backupGallery sharing
Auto backup✅ iOS + Android✅ iOS + Android❌ Manual upload
Face recognition✅ Server-side ML✅ On-device❌ None
E2EE❌ Server sees photos✅ Zero-knowledge❌ Server sees photos
Search✅ ML-powered⚠️ On-device only⚠️ EXIF metadata
Video support✅ Full transcoding✅ Basic⚠️ Limited
RAM (minimum)2GB1GB512MB
GitHub stars50,000+~12,000~3,500
StackTypeScript + GoGoPHP
Security auditNo formal auditYes (Cure53)No
LicenseAGPL-3.0AGPL-3.0MIT

When to Choose Each

Choose Immich if:

  • You want a feature-complete Google Photos replacement with auto-backup
  • Face recognition and ML-powered search are important to your workflow
  • You have a NAS or dedicated home server with 4GB+ RAM available
  • Privacy from your own server operator is less important than features

Choose Ente Photos if:

  • End-to-end encryption is non-negotiable
  • You're a journalist, lawyer, or anyone who can't risk photo exposure even from server compromise
  • You want the cleanest mobile backup experience with minimal complexity
  • You're comfortable using object storage (S3/MinIO/R2) for photo data

Choose Lychee if:

  • You need a beautiful, public-facing photo gallery
  • You're a photographer sharing work with clients or publicly
  • Low resource usage is the priority
  • You don't need mobile auto-backup

Migration Notes

From Google Photos to Immich: Google Takeout exports your photos with metadata JSON files. Use the immich-go CLI tool which reads Google Takeout format and preserves original dates and albums.

From iCloud to Ente: Download via iCloud.com or the macOS Photos export. Ente's desktop app handles bulk imports. Original creation dates are preserved from EXIF data.

Between Immich and Ente: Export from either (standard JPEG/MP4 with EXIF), import via the other's CLI or web uploader. Face tags and ML metadata won't transfer.


Methodology

  • Sources: 7 — ente.io, immich.app, lychee.electerious.com, GitHub repositories, XDA-Developers self-hosted roundup, user benchmarks
  • GitHub stars: verified March 2026
  • Date: March 2026

Running Immich? See our full self-hosting guide for Immich and the broader Immich vs PhotoPrism vs LibrePhotos comparison.

Related: Nextcloud vs Google Drive 2026 · Hoarder vs Wallabag: Self-Hosted Bookmarks

Comments

Get the free Self-Hosting Migration Guide

Complete guide to migrating from SaaS to self-hosted open-source — infrastructure, data migration, backups, and security. Plus weekly OSS picks.

No spam. Unsubscribe anytime.