If you want your photos off Google Photos or iCloud, two open-source projects lead the way: Immich and PhotoPrism. Both organise large libraries with AI-powered search and run well in Docker. They focus on different things: Immich on being a full Google Photos replacement with automatic phone backup, PhotoPrism on browsing and organising an existing archive. Here’s how they compare.

At a glance

Immich PhotoPrism
Main focus Phone backup + Google Photos-like experience Organising and browsing photo archives
Mobile apps Native iOS and Android apps with automatic background backup Progressive web app. Uploads via the web, WebDAV or sync tools
Multi-user Yes, with per-user libraries, partner sharing and shared albums Limited in the free edition (more in paid editions)
Face recognition Yes Yes
Smart search (“dog on beach”) Yes (CLIP-based) Yes (classification labels)
Map and places Yes Yes
Videos Yes, with transcoding Yes
RAW files Supported Strong support
External library (index existing folders read-only) Yes Yes, its core strength
Development pace Very fast Steady, mature
Licence AGPLv3 AGPLv3 (core) + paid plus features

Immich: the Google Photos replacement

Strengths:

  • Automatic phone backup that just works, like Google Photos, including background upload.
  • A familiar timeline, memories (“on this day”), albums, sharing links and partner sharing.
  • Fast machine-learning search (CLIP) and face clustering.
  • Multi-user out of the box, so the whole family can use one instance.

Considerations:

  • Rapid development. Read release notes before updating, since breaking changes still happen occasionally. See updating self-hosted apps.
  • Several containers: server, machine learning, PostgreSQL (with a vector extension) and Redis.

See Immich photo backup.

PhotoPrism: the archive browser

Strengths:

  • Excellent for existing archives: point it at folders of photos (including RAW), and it indexes them without moving files.
  • Good classification, a rich metadata view, places and a map, duplicate detection.
  • Mature and stable.

Considerations:

  • No native mobile backup app. Use PhotoSync, Syncthing, Nextcloud or WebDAV to get photos onto the server. See Syncthing.
  • Multi-user and some features are part of paid editions.

See install PhotoPrism.

Resources on a VPS

Both are reasonable on a mid-size server, with the heaviest load during the initial import (thumbnails, ML indexing, video transcoding):

Minimum Comfortable
Immich 2 vCPU, 4 GB RAM 4 vCPU, 6–8 GB RAM
PhotoPrism 2 vCPU, 3 GB RAM (+ swap) 4 vCPU, 6–8 GB RAM

The initial indexing of a large library can take hours or days. Later it’s incremental. Machine learning can be disabled or moved to another machine (Immich supports a remote ML container).

Storage

Photos and videos add up fast. Plan for the originals, plus 10–20% for thumbnails and previews (more with transcoded video). A storage VPS suits large libraries: VPS.DO’s storage plans offer 500 GB of SSD storage in the USA and Hong Kong. Alternatively, keep originals on object storage or a large disk, and run the app on a compute VPS. See storage VPS.

Backups (essential)

Your photo server becomes the primary copy of irreplaceable memories:

  • back up the original files and the database (albums, faces, metadata) regularly, off-server;
  • test restores occasionally;
  • don’t rely on the app alone as your only copy.

See the 3-2-1 backup rule.

Security

  • Put it behind HTTPS (a reverse proxy with Let’s Encrypt), with strong passwords and 2FA where available.
  • Consider access only via VPN (Tailscale or WireGuard) for maximum privacy. Shared links can still be exposed selectively. See Tailscale.
  • Keep it updated, since it holds sensitive personal data.

Which should you choose?

You want… Choose
Automatic phone backup for the family, Google Photos-like UX Immich
To browse and organise an existing archive (RAW, folders) PhotoPrism
Stability above new features PhotoPrism
The fastest-evolving feature set Immich

Some people run both: Immich for phone backups and day-to-day use, and PhotoPrism read-only over the same archive for its organising tools.

Related: Nextcloud and Jellyfin vs Plex.

  • Self-Hosting
  • Photos
  • Docker