More people are deciding to keep their photos themselves. But "open-source album" is not one product: some are phone-backup replacements, some are AI organisers, some are end-to-end encrypted, and some are just a beautiful portfolio. This article puts six deployable projects side by side and gives a conclusion per real-world scenario.
1. Decide what you actually need
- Replace iCloud / Google Photos: automatic backup for the whole family, search by person, place or content — choose Immich.
- Organise fifteen years of old photos: drop a drive in and let AI recognise people and scenes — choose PhotoPrism.
- Privacy first: even the server must not see the photos — choose Ente Photos.
- A clean shared album for the family: light, good-looking, clear permissions — choose Lychee or Piwigo.
- A personal photography portfolio: masonry, Live Photo, maps — choose ChronoFrame.
2. Side-by-side comparison
| Project | Language / licence | Phone auto-backup | AI | Multi-user / family | Deployment | Footprint |
|---|---|---|---|---|---|---|
| Immich | TypeScript / AGPL-3.0 | Official app, full experience | Faces, objects, semantic search | Users, shared albums, partners | Medium (4 containers) | 4 GB+ |
| PhotoPrism | Go / AGPL-3.0 | No official app; WebDAV / import | Faces, labels, scenes | Multiple users | Low (single container) | 2–4 GB |
| Ente Photos | Go + TS / AGPL-3.0 | Official app, E2E encrypted | On-device faces | Family sharing, collaborative albums | High (HTTPS + S3) | 4 GB+ |
| Lychee | PHP / MIT | No official app | Faces (optional container) | Users, permissions, share links | Low (2 containers) | 2 GB |
| Piwigo | PHP / GPL-2.0 | No official app | Plugins (tagging) | Groups, per-album rights | Low (2 containers) | 1–2 GB |
| ChronoFrame | Nuxt / AGPL-3.0 | No (web / dashboard upload) | EXIF, places, Live Photo | Album passwords, hidden albums | Very low (1 container) | 1 GB |
3. Verdicts, one by one
Immich: the default for family albums
No rival matches its completeness: automatic phone backup, timeline, faces, semantic search, shared albums, maps and video transcoding in one system. The price is more components, higher memory use, and the need to read release notes before major upgrades. If you install only one, install this.
PhotoPrism: the best curator of old photos
Indexing is excellent — tens of thousands of photos filterable by person, place, colour and content. It does not take over phone backup, but you can mount Immich's library or any drive into it as a "second brain". Single container, easy to trial.
Ente Photos: the privacy-first alternative
End-to-end encryption means a zero-knowledge server, and the mobile app feels close to a commercial product. The cost is the most involved deployment: HTTPS is mandatory, object storage must be configured, and verification codes live in the logs. Worth an extra hour if privacy is a hard requirement.
Lychee: good-looking and sufficient
The most "designed" interface of the six, with share links, passwords, permissions and watermarks that feel natural. v7's move to FrankenPHP simplified deployment, but there is no automatic phone backup and AI needs an extra container.
Piwigo: the finest permission model
Twenty-plus years of album management features: user groups, album rights, privacy levels and a mature plugin ecosystem. The interface feels traditional and mobile is average; it is a family portal rather than a phone backup target.
ChronoFrame: the lightest portfolio
One container, one data directory, online in ten minutes. Masonry, Live Photo, maps and album passwords are all there, but the ecosystem is young — great for personal photography, not for the family's entire photo archive.
4. Recommendations by scenario
| Your situation | Pick | Why |
|---|---|---|
| Replace cloud photos with automatic family backup | Immich | The only open-source option with a complete mobile backup loop |
| A pile of old photos and a small budget | PhotoPrism | Single container, strong indexing, great search |
| Sensitive photos, no plaintext on the server | Ente Photos | End-to-end encryption, zero-knowledge server |
| Just show photos to relatives and friends | Lychee | Share links, passwords, expiry, beautiful UI |
| A big family with fine-grained access needs | Piwigo | The most mature groups and per-album permissions |
| A photography portfolio or yearly recap page | ChronoFrame | Best presentation, lightest deployment |
5. Choosing a server
- 1 vCPU / 1 GB: only light options such as ChronoFrame or Piwigo.
- 2 vCPU / 2 GB: PhotoPrism or Lychee, with a modest library.
- 2 vCPU / 4 GB: the starting point for Immich and Ente, enough for a family of 3–5.
- 4 vCPU / 8 GB: more than 50k photos, concurrent browsing, faces and semantic search enabled.
Whichever you pick, keep photos on a dedicated data disk or object storage, leave the system disk for the database and thumbnails, and keep at least one off-site backup.
6. Common mistakes
1. Backing up originals but not the database. Albums, tags, faces and share links live in the database; lose it and you start over.
2. Connecting the mobile app over HTTP. Immich and Ente both require HTTPS; with an untrusted certificate background backup fails silently.
3. Not raising upload limits in the proxy. Videos are gigabytes; Nginx defaults to 1 MB and returns 413.
4. Jumping major versions. Immich and Lychee both ship breaking changes; read the release notes before docker compose pull.
5. Forgetting APP_KEY / museum.yaml. Lose those key files and the data is effectively unreadable.
7. Final words
There is no "best" album, only the one that fits your household. With a small budget and limited time, start with ChronoFrame or PhotoPrism; to replace a cloud album in one go, choose Immich; if privacy is non-negotiable, choose Ente.
All six projects are in our resource library with image addresses and per-project tutorials. If you would rather not build it yourself, we offer a tested deployment service from $99, delivered within 48 hours, with a full refund if deployment fails.
Direct links: Immich · PhotoPrism · Ente · Lychee · Piwigo · ChronoFrame



