Immich vs Ente Photos: Self-Hosted and Encrypted Alternatives to Google Photos, Hands-On
If you have been following this blog, you know the pattern by now: a SaaS subscription has to earn its keep. The Zapier to n8n switch proved that a self-hosted tool can replace a subscription, and the 90 day Immich review did the same for Google One. That review answered whether self-hosted Immich works. It did not survey the rest of the field, because Immich is not the only serious Google Photos alternative, and self-hosting is not the only way to leave Google.
Ente Photos is the other name that keeps coming up, and it is unusual in one specific way: it is the same product as both an end-to-end encrypted cloud service and a fully self-hostable server. You can pay Ente to store an encrypted library for you, or you can run its open source server on hardware you own, and the mobile and desktop clients are identical either way. This post covers both paths, what each one really costs, and which of the three shapes, self-hosted Immich, Ente cloud, or Ente self-hosted, fits which kind of person.
The short version
- Immich is the self-hosted-only option. Free AGPLv3 software, local machine learning, originals on your own disks, with the family gaps documented in the 90 day review.
- Ente cloud is the zero maintenance option. End-to-end encryption by default, 10 GB free forever, paid plans from 50 GB, and a family plan that shares one subscription across up to six members.
- Ente self-hosted runs the same open source server as the cloud. The ente monorepo is AGPLv3, includes the server and all clients, and has been audited by Cure53, Symbolic Software, and Fallible.
- Self-hosting Ente is more moving parts than Immich. The quickstart brings up the server plus Postgres plus S3-compatible object storage, and you become the replication layer.
- Neither tool clones Google's family library exactly. Ente family members share storage but stay private unless albums are shared; Immich has partner sharing and shared albums but no merged family timeline yet.
- There is an Ente cloud referral code in this post, with disclosure. XFQKLZ, applied in Settings > Referrals, adds 10 GB to both sides once the referred account upgrades to a paid plan.
- Ente free plan
10 GB, forever - Ente paid plans
From 50 GB to multiple TB, monthly or annual billing - Ente family plan
Up to 5 members on one subscription - ente/ente repository
AGPL-3.0, about 28.6k stars - Self-hosted quickstart minimum
1 GB RAM, 1 CPU core, Docker Compose - Independent audits
Cure53, Symbolic Software, Fallible
Checked 2026-09-04 against ente.com/help (storage and plans FAQ, referral program, self-hosting quickstart), the ente/ente GitHub repository, and the Ente blog. Ente pricing and plans move fast; re-check ente.com before you rely on exact numbers.
The three honest shapes
Think of the space as three shapes rather than one head-to-head. Shape one is a server in your house running Immich: the strongest control story, the most hands-on, and the one this blog already ran for 90 days. Shape two is Ente cloud: someone else runs the encrypted infrastructure, you never hand them the keys, and your only job is the app. Shape three is Ente self-hosted: the same clients and the same encryption, with the server part moved to hardware you control. The honest advice is to decide between shape one and shape two first, and to treat shape three as a variant of shape two for people who already run a homelab.
What the Immich review already settled
The 90 day review covered the details, so the summary here is short. Self-hosted Immich on the N100 mini PC replaced the Google One subscription, cut the recurring cost to near zero, kept originals uncompressed, and ran faces, OCR, and semantic search locally. The honest gaps were the family ones: one user one library, no user groups, and shared albums that do not merge into a timeline, memories, or faces. If the family model is your main question, read that review first, because that gap is the one that decides real households. For the mechanics, the Compose vs Kubernetes and Docker vs Podman posts explain why a single box stays on Compose, and the remote access post shows how a self-hosted library is reached from outside without opening a single port.
Ente Photos cloud: encrypted by default
Ente Photos is a Google Photos and Apple Photos alternative built around one promise: your library is end-to-end encrypted before it leaves the device, so Ente's servers only ever see ciphertext. The source code and cryptography have been audited by Cure53, Symbolic Software, and Fallible, and the whole thing, server included, is open source under AGPLv3. That combination, audited zero-knowledge encryption plus open clients, is why Ente keeps showing up wherever the Google Photos privacy conversation happens.
The feature list is closer to Google Photos than most self-hosted options get. Face detection and grouping run on device. There is natural-language search under a zero-knowledge AI banner, curated memories, a map, shared and collaborative albums, public links, guest view, and easy export. Originals are kept at full quality with EXIF intact, Live Photos and HEIC included. Ente replicates your encrypted data to one (free-plan) or three locations (paid-plan), and one detail worth knowing: the quota is counted in GiB while being labeled GB, so a plan is slightly roomier than the base-1000 kind.
Pricing is the part most people ask about first. There is a 10 GB free plan that stays free, and the free tier includes unlimited devices, backups, sharing, and the search features. Paid plans start at 50 GB and run up into the multi-terabyte range, with monthly and cheaper annual billing; the per-tier prices change often enough that the plans page is the source of truth. Family plans let up to five members share one subscription, and each member keeps a private space. Joining a family shares storage, not photos, which matters for anyone hoping for Google's shared family library.
One honest note on the storage math, straight from Ente's own FAQ: the free 10 GB does not stack on top of a paid plan. When you upgrade, your paid allowance replaces it, and the referral bonus then adds on top, so a 50 GB plan plus the bonus is 60 GB. The incentive to refer is real on both sides, but it only lands after the referred account subscribes.
Self-hosting Ente: the same code on your hardware
Ente's server is open source, and the docs are refreshingly direct that self-hosting runs the same code used in production. The quickstart wants a machine with at least 1 GB of RAM and one CPU core, plus Docker Compose, and it handles the rest:
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ente/ente/main/server/quickstart.sh)"
# creates ./my-ente and prompts to start the Docker Compose stack
# Ente Photos web app: http://<machine-ip>:3000
# Albums app (public links): http://<machine-ip>:3002The clients are the same ones the cloud uses. The web app runs on port 3000, the separate Albums app that serves public links on port 3002, and the mobile apps can be pointed at your own endpoint during sign-in, which is the step most people miss on the first try. Under the hood, the server stores encrypted blobs in S3-compatible object storage and keeps metadata in Postgres, so a production-minded setup is the Ente containers plus Postgres plus MinIO, Backblaze B2, or any S3 endpoint. The official docs and community guides both cover that wiring, and the monorepo ships a CLI for administration.
The honest trade-offs: this is more moving parts than Immich, which is one reason Immich stays the default recommendation on this blog for people who want a photo server in the house. Ente's polish and documentation favor the hosted product, because that is the business, and some cloud conveniences, the three-location replication above all, become your responsibility when you self-host. You are also running a Go server plus Postgres plus an object store, which is a real stack rather than a toy.
| Feature | Ente Photos cloud | Ente Photos self-hosted |
|---|---|---|
| Who runs it | Ente, replicated to 3 locations | You, on your hardware |
| Setup effort | Install the app and sign up | Docker Compose: server plus Postgres plus object storage |
| Encryption | End to end by default | End to end by default |
| Free to start | 10 GB forever | Unlimited, limited by your disk |
| Paid cost | Plans from 50 GB; annual billing cheaper | Hardware and electricity, no per-GB fees |
| Maintenance | None on your side | Updates, backups, and restores are yours |
| Clients | Same apps | Same apps, pointed at your endpoint |
| Best for | Real privacy with zero maintenance | Full control on a homelab you already run |
Who runs it
- Ente Photos cloud
- Ente, replicated to 3 locations
- Ente Photos self-hosted
- You, on your hardware
Setup effort
- Ente Photos cloud
- Install the app and sign up
- Ente Photos self-hosted
- Docker Compose: server plus Postgres plus object storage
Encryption
- Ente Photos cloud
- End to end by default
- Ente Photos self-hosted
- End to end by default
Free to start
- Ente Photos cloud
- 10 GB forever
- Ente Photos self-hosted
- Unlimited, limited by your disk
Paid cost
- Ente Photos cloud
- Plans from 50 GB; annual billing cheaper
- Ente Photos self-hosted
- Hardware and electricity, no per-GB fees
Maintenance
- Ente Photos cloud
- None on your side
- Ente Photos self-hosted
- Updates, backups, and restores are yours
Clients
- Ente Photos cloud
- Same apps
- Ente Photos self-hosted
- Same apps, pointed at your endpoint
Best for
- Ente Photos cloud
- Real privacy with zero maintenance
- Ente Photos self-hosted
- Full control on a homelab you already run
Ente cloud vs Immich: two different philosophies
Put Immich and Ente cloud next to each other and the difference is philosophy more than features. Immich is software you run: maximum control, local machine learning, originals as plain files, and a maintenance job attached. Ente is a service you trust: someone else runs the hardware, your data is encrypted in a way they cannot read, and the price is a subscription that starts free. The family question is where they diverge most. Google's family group with a merged library is the thing people are actually leaving, and neither replacement copies it exactly. Immich gives partners full visibility and shared albums today, with user groups and better sharing on the roadmap. Ente gives a family one subscription with private per-member spaces and sharing that stays explicit. If the merged family timeline is a hard requirement, that gap is the one that decides real households.
| Feature | Immich (self-hosted) | Ente Photos cloud |
|---|---|---|
| Where photos live | On your hardware | Ente servers, replicated 3x, encrypted |
| Machine learning | Local CLIP search, local faces, local OCR | On-device face grouping, zero-knowledge semantic search |
| Originals | Standard files on disk, unchanged | Encrypted originals, full quality, EXIF kept |
| Family model | Partner sharing and shared albums; no merged timeline yet | One subscription, up to 5 members, private unless shared |
| Backup story | Files plus Postgres that you back up | Ente handles redundancy; you keep export copies |
| Effort | You run and update the whole stack | Nothing to run |
| Cost floor | Hardware you already own | 10 GB forever free |
| Best for | Keeping the server in the house | Wanting the encrypted cloud to just work |
Where photos live
- Immich (self-hosted)
- On your hardware
- Ente Photos cloud
- Ente servers, replicated 3x, encrypted
Machine learning
- Immich (self-hosted)
- Local CLIP search, local faces, local OCR
- Ente Photos cloud
- On-device face grouping, zero-knowledge semantic search
Originals
- Immich (self-hosted)
- Standard files on disk, unchanged
- Ente Photos cloud
- Encrypted originals, full quality, EXIF kept
Family model
- Immich (self-hosted)
- Partner sharing and shared albums; no merged timeline yet
- Ente Photos cloud
- One subscription, up to 5 members, private unless shared
Backup story
- Immich (self-hosted)
- Files plus Postgres that you back up
- Ente Photos cloud
- Ente handles redundancy; you keep export copies
Effort
- Immich (self-hosted)
- You run and update the whole stack
- Ente Photos cloud
- Nothing to run
Cost floor
- Immich (self-hosted)
- Hardware you already own
- Ente Photos cloud
- 10 GB forever free
Best for
- Immich (self-hosted)
- Keeping the server in the house
- Ente Photos cloud
- Wanting the encrypted cloud to just work
Moving out of Google Photos
Getting out of Google is similar on both paths. Google Takeout produces the archive, Ente's migration tooling imports it with albums included, and the same import path works whether you are on Ente cloud or your own Ente server. For Immich the tool is immich-go, which the 90 day review covers with a real command. Whichever way you go, do the import on a copy, check that dates and albums survived, and only then delete anything from Google.
Who should pick which
- Choose self-hosted Immich when: you want the library in the house, you are comfortable running and updating a stack, originals-as-files matters, and you can live with the current family gaps. The 90 day review is your starting point.
- Choose Ente cloud when: you want real privacy without running anything, the 10 GB free tier is enough to start, or the family plan, five members on one subscription, is the thing that finally pulls you off Google. The referral code XFQKLZ is above if you want the bonus.
- Choose Ente self-hosted when: you like Ente's clients and encryption but want the server on hardware you control, and you accept Postgres plus object storage plus your own backups as the price. Try Ente cloud first to decide whether you like the product before you run the server.
- Consider neither when: Google's merged family library is the feature you need today. Neither Immich nor Ente merges a whole family into one shared, searchable timeline the way Google does, so keep Google One until one of them lands the model you actually want.
Official sources
- Ente Photos: https://ente.com/
- Storage and plans FAQ: https://ente.com/help/photos/faq/storage-and-plans
- Referral program: https://ente.com/help/photos/features/account/referral-program/
- Self-hosting quickstart: https://ente.com/help/self-hosting/
- ente/ente on GitHub: https://github.com/ente/ente
- Cryptography audit by Cure53: https://ente.com/blog/cryptography-audit/
Have you left Google Photos for Immich, Ente, or something else? Where did the family library question land for you, and did you take the cloud path or the server path? Drop it in the comments.
Until next time, keep your systems thoughtful.

No comments yet