Immich self-hosted photo and video backup

Immich keeps eating storage. The mobile uploader runs in the background, the CLIP search actually works, and a year of phone backups turns into a Postgres database the size of a small Plex library. That part is good. The trouble is everything around it: machine-learning workers that eat 4 GB of RAM, Docker compose files that change every couple of releases, and a “not yet stable” warning the team has been honest enough to keep on the home page. We run Immich on two of our home labs and still keep three alternatives installed for redundancy. These are the seven Immich alternatives worth running on desktop and homelab hardware right now.

Quick comparison

AppBest forLicenseHardware floorStandout
PhotoPrismPreserving an existing folder treeAGPL (paid Pro features)2 GB RAM, x86_64TensorFlow-based labels and panorama support
Ente PhotosEnd-to-end encrypted backupsOpen source server, paid SaaS1 GB RAME2EE plus self-hosting plus optional managed sync
Nextcloud MemoriesHouseholds already on NextcloudAGPL2 GB RAMReuses Nextcloud users, shares, and folders
LibrePhotosStrong face recognitionMIT4 GB RAM, GPU helpsBest face clustering in the open-source field
PiwigoLong-running gallery with pluginsGPL512 MB RAM, PHP/MySQLTwenty years of plugin ecosystem
PhotoviewLightweight read-only galleriesGPL256 MB RAMReads files in place, no import step
DamselflyHands-off triage at scaleGPL2 GB RAMMulti-folder watcher with bulk tagging

Why people leave Immich on desktop

A few patterns repeat in our notes and in the project’s own GitHub discussions.

The machine-learning service is heavy. The default Immich stack ships a separate ML container that loads CLIP, MobileFaceNet, and an OCR model. On a small NUC it idles at 1.5 to 2 GB of RAM and spikes to 4 GB during indexing. People with Synology boxes or N100 mini-PCs hit swap quickly.

Schema changes still bite. The team is upfront that the data model is not yet frozen. Two of the last six releases needed a database migration, and one of them locked a 200 GB library for several hours. That’s manageable for a hobbyist; it’s a problem on a household server that family members rely on.

There is no native desktop client. Uploading from a Mac or Windows machine means either the web UI or the immich-go CLI. People used to Lightroom, Capture One, or even Apple Photos miss having a real desktop app that can sit on the menu bar.

External library support is recent and partial. Immich added external libraries in 2024, but the watcher only sees changes on a schedule. PhotoPrism, Piwigo, and Photoview all read files in place with no import dance.

Sharing albums means exposing the server. The default share link points at the Immich URL. Without a reverse proxy and a few headers, that means your home IP. The XDA piece on sharing Immich without exposing the server is a workaround, not a built-in feature.

The alternatives

PhotoPrism — Best for preserving an existing folder tree

PhotoPrism reads photos and videos in place from the folder structure you already have. There’s no import step that copies files into an opaque database directory, which means a working rsync or BorgBackup of /photos is also a working PhotoPrism backup. It ships TensorFlow-based labels, color search, places (with offline map tiles available), and decent panorama and live-photo handling.

Where it falls short: The free build limits some Pro-only features (advanced face recognition, video transcoding presets, sponsor-only releases). The mobile uploader is a PWA, not a native background uploader, so it can’t do silent background sync.

Pricing:

Migrating from Immich: Point PhotoPrism at the originals folder Immich was using and let it index. Faces and albums need to be re-tagged; original folder structure and EXIF are preserved.

Bottom line: Pick PhotoPrism if your photos already live in a folder hierarchy you respect and you want a server that doesn’t fight that.

Ente Photos — Best for end-to-end encrypted backups

Ente is the only mature option in this list that combines end-to-end encryption with self-hosting. The clients on Android, iOS, and desktop encrypt photos locally before upload, and the server stores only ciphertext. Running the server yourself is supported, and the SaaS tier exists for people who want the same encryption with someone else paying the storage bill.

Where it falls short: Self-hosting Ente is more work than Immich. The stack splits into the museum API, web client, and an object store (MinIO or S3). Search is on-device, so finding “beach photos from 2018” across 80,000 images is slower than Immich’s CLIP query on the server.

Pricing:

Migrating from Immich: Export originals from Immich and use Ente’s bulk uploader. EXIF and album titles transfer; Immich-side smart albums and tags do not.

Bottom line: Pick Ente if encrypted-at-rest matters more than convenience, and stay on Immich if your threat model is “house burns down, not subpoena”.

Nextcloud Memories — Best for households already on Nextcloud

If a Nextcloud instance is already running, Memories adds a Google-Photos-style timeline on top of the files the household already syncs. Faces, places, tags, and an album-with-share-link flow all live inside the existing Nextcloud user system. Background upload comes from the standard Nextcloud mobile app, which is solid.

Where it falls short: Nextcloud is a heavy companion. A 16 GB RAM server feels comfortable; an N100 with 8 GB feels tight if you also run Talk or Office. Memories’ search is keyword-based, not CLIP-style natural language.

Pricing:

Migrating from Immich: Drop Immich originals into the household Nextcloud folder; Memories re-indexes on the next scan.

Bottom line: Pick Memories if Nextcloud is already part of the stack. If it isn’t, the answer is probably Immich or PhotoPrism, not “add Nextcloud too”.

LibrePhotos — Best for serious face recognition

LibrePhotos has the strongest face clustering in the open-source field, full stop. The model handles glasses, partial faces, and aging more gracefully than Immich or PhotoPrism. It also ships a real semantic search using CLIP, plus reverse-geocoded places.

Where it falls short: Mobile upload is a Progressive Web App. There is no equivalent of Immich’s silent background uploader, so phones need a separate tool (Syncthing, FolderSync) to drop files into the watched directory. Release cadence is irregular.

Pricing:

Migrating from Immich: Re-index originals; expect face clusters to be rebuilt from scratch.

Bottom line: Pick LibrePhotos when “who is in this photo” matters more than “back up my phone tonight”.

Piwigo — Best for the long tail of plugins

Piwigo has been around since 2002. It’s a PHP/MySQL gallery that started life as a Coppermine alternative and never stopped getting updates. There are plugins for everything: WebDAV import, geotagging, PiwigoPress for WordPress embedding, and dozens of themes that don’t look like a 2007 forum.

Where it falls short: No native machine learning. Search is metadata-based, so “show me the dog” only works if a tag, caption, or EXIF keyword says “dog”. The UI is busier than Immich’s.

Pricing:

Bottom line: Pick Piwigo on a small VPS where 256 MB of RAM is the budget and you’d rather tag things by hand than feed a GPU.

Photoview — Best for read-only family galleries

Photoview is small, fast, and read-only by design. It points at a folder, walks the tree, and serves an attractive gallery without ever touching the originals. Face recognition is optional and runs once; sharing is via signed URLs with optional expiry.

Where it falls short: No upload from the web UI. Mobile clients are community-maintained and lag behind. Albums are folder-based, with no virtual album layer.

Pricing:

Bottom line: Pick Photoview when an aunt asks for “a place to see the kids’ photos” and you don’t want to manage another full-stack server.

Damselfly — Best for triaging a giant library

Damselfly was built for one job: opening a photo, ranking it, captioning it, and moving on, ten thousand times in a row. It runs as a .NET service on Linux, Windows, or macOS, watches multiple folders, and bulk-syncs ratings and keywords back into the file EXIF so other tools can read them.

Where it falls short: It’s a triage tool, not a long-term home. There’s no album system, no sharing flow, and no mobile client. Most people use it for a few weekends, then go back to PhotoPrism or Immich.

Pricing:

Bottom line: Run Damselfly for a month to clean up two decades of phone dumps, then point Immich or PhotoPrism at the same folder.

How to choose

Pick PhotoPrism if your photos already live in a tidy folder tree and you want a server that respects it.

Pick Ente Photos if end-to-end encryption is the requirement and you’re willing to pay (in time or money) for it.

Pick Nextcloud Memories if your household already runs Nextcloud and adding Immich would mean a second user system to manage.

Pick LibrePhotos if faces are the headline feature you want and you have a server with a spare GPU.

Stay on Immich if mobile background backup is the killer feature and you can handle a database migration every six months or so.

FAQ

Is PhotoPrism better than Immich?

For an existing folder-based library and lower hardware, yes. For phone-first backup, Immich is still ahead. Most people who run both end up keeping Immich for ingest and PhotoPrism for long-term archive.

Can I import my Immich library into PhotoPrism or Ente?

Yes. Both read raw originals, so pointing the new tool at the Immich originals directory works. Faces and tags need to be rebuilt; EXIF and folder structure transfer cleanly.

What is the most lightweight Immich alternative?

Photoview, by a long way. It runs on a Raspberry Pi 4 with under 256 MB of RAM and a single PostgreSQL database.

Does any Immich alternative support end-to-end encryption?

Ente Photos is the only mature option that does, both in self-hosted mode and in the managed service.

Can I use these alongside Immich?

Yes. PhotoPrism, Piwigo, and Photoview all read photos in place without taking ownership of the files, so multiple servers can share the same originals folder.