4.5 KiB
title: Ente Photos created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, photos, ente, encryption, privacy, e2ee, self-hosted, mobile] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Photos, https://github.com/ente-io/ente]
📸 Ente Photos
L'alternative chiffrée end-to-end à Google Photos et iCloud — open source, multi-plateforme, et même auto-hébergeable pour les utilisateurs avancés.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | Ente Photos |
| Slug | app-ente-photos |
| Description | Cloud photos chiffré end-to-end, open source |
| Site officiel | ente.io |
| Repository | ente-io/ente |
| Stars | 26 995 ⭐ |
| Licence | AGPL-3.0 (serveur + apps) |
| Langage principal | Go, Dart, TypeScript |
| Catégorie | Photos |
| Tags | [catalogue, photos, ente, encryption, privacy, e2ee, self-hosted, mobile] |
📝 Description
Ente se positionne sur le créneau "cloud photo privacy-first" : toutes les photos sont chiffrées côté client (chiffrement AES-256-GCM avec clé dérivée du mot de passe via Argon2) avant upload. Le serveur ne voit jamais le contenu en clair — y compris les métadonnées (EXIF, géoloc, etc.).
Points forts : apps natives excellentes sur iOS, Android, macOS, Windows, Linux, Web (PWA). UX très proche d'Apple Photos/Google Photos. Recherche par similarité visuelle et reconnaissance d'objets fonctionne en mode chiffré (embeddings calculés client-side). Partage avec lien chiffré, albums collaboratifs (avec chiffrement partagé). Migration depuis Google Photos, Apple Photos, Immich, etc.
Auto-hébergement : Ente fournit un guide pour déployer le serveur (composé de plusieurs microservices Go). C'est faisable mais plus complexe qu'Immich ou PhotoPrism — il faut reverse-proxy plusieurs services, gérer Postgres, S3-compatible, museum (ML search), accounts, etc.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml - extrait simplifié
version: "3.8"
services:
api:
image: ghcr.io/ente-io/server:latest
container_name: ente-api
restart: unless-stopped
env_file: ./museum.yaml
depends_on: [postgres, minio]
web:
image: ghcr.io/ente-io/web:latest
container_name: ente-web
restart: unless-stopped
ports:
- 8080:3000
postgres:
image: postgres:15
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
minio:
image: minio/minio:latest
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: ${MINIO_PASSWORD}
volumes:
- miniodata:/data
volumes:
pgdata:
miniodata:
⚠️ La stack Ente complète (museum, accounts, albums, share, public) fait 8-10 services — bien suivre la doc officielle plutôt que ce snippet simplifié.
Installation manuelle
Possible (binaire Go) mais non recommandé — la composition multi-services est lourde à maintenir à la main.
⚙️ Configuration
- Storage backend : S3 ou compatible (MinIO local pour self-host).
- Domaine HTTPS dédié obligatoire (apps natives refusent les certificats auto-signés).
- DNS challenge (Caddy/Let's Encrypt) recommandé.
- Configuration
museum.yaml: clés de chiffrement serveur, secrets, URLs API.
🔗 Alternatives
- app-immich — Self-host simple, pas de chiffrement E2E
- app-photoprism — Self-host simple, pas de chiffrement E2E
- Storj DCS (cloud S3 chiffré) — alternative non-photo dédiée stockage
🔒 Sécurité
- Chiffrement E2E : la clé de chiffrement est dérivée du mot de passe utilisateur — perte du mot de passe = perte des photos (Ente ne peut rien récupérer). C'est by design.
- Aucune auth faible : l'app ne propose pas de "récupération par email" pour ne pas compromettre le modèle.
- Code auditable : toute la stack (serveur + apps) est open source et auditable.
📚 Ressources
🔗 Pages Liées
- cat-photos (n'existe pas encore, OK)
- app-immich
- app-photoprism
- app-traefik
- recettes-docker-compose
- securisation-home-lab