Files
2026-06-09 18:40:21 +02:00

118 lines
4.7 KiB
Markdown

---
title: PhotoPrism
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, photos, photoprism, ai, recognition, gallery, self-hosted]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/photoprism/photoprism]
---
# 📸 PhotoPrism
> **Le serveur de photos IA mature et open source**, écrit en Go. Indexation, reconnaissance, recherche full-text dans les photos — le "Swiss Army knife" de la photothèque.
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | PhotoPrism |
| **Slug** | app-photoprism |
| **Description** | Serveur de photos IA, mature, écrit en Go |
| **Site officiel** | [photoprism.app](https://photoprism.app) |
| **Repository** | [photoprism/photoprism](https://github.com/photoprism/photoprism) |
| **Stars** | 39 756 ⭐ |
| **Licence** | AGPL-3.0 (Community Edition) |
| **Langage principal** | Go |
| **Catégorie** | Photos |
| **Tags** | [catalogue, photos, photoprism, ai, recognition, gallery, self-hosted] |
## 📝 Description
**PhotoPrism** est un des pionniers du secteur (lancé en 2018) et reste l'une des solutions les plus **complètes et stables**. Contrairement à Immich, il n'a pas (officiellement) d'appli mobile native — il mise sur une webapp progressive (PWA) très aboutie et des apps tierces (PhotoPrism Plus sur iOS, etc.).
Fonctionnalités : **indexation automatique** (scan de dossiers existants sans copier), **reconnaissance faciale** (via TensorFlow), **classification par scène/objet** (modèles NSFW, Places365, ImageNet), **recherche full-text** dans les métadonnées IPTC/XMP, **carte géographique**, **calendrier**, **vidéo** (transcode FFmpeg), **partage public** avec lien/mot de passe/expiration, **albums**, **favoris**, et **webDAV** pour accès externe.
Modèle économique : **Community Edition** (AGPL, gratuite et complète) + **PhotoPrism Plus** (services payants optionnels : support prioritaire, apps mobiles, hosting). Le code source reste entièrement accessible.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
version: "3.8"
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
restart: unless-stopped
environment:
PHOTOPRISM_ADMIN_PASSWORD: "changeme"
PHOTOPRISM_SITE_URL: "http://localhost:2342/"
PHOTOPRISM_DATABASE_DRIVER: "sqlite"
PHOTOPRISM_STORAGE_PATH: "/photoprism/storage"
PHOTOPRISM_ORIGINALS_PATH: "/photoprism/originals"
PHOTOPRISM_IMPORT_PATH: "/photoprism/import"
volumes:
- ./storage:/photoprism/storage
- /mnt/photos:/photoprism/originals:ro # vos photos en lecture seule
ports:
- 2342:2342
depends_on: [mariadb]
mariadb:
image: mariadb:11
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: "secret"
MARIADB_DATABASE: photoprism
volumes:
- db:/var/lib/mysql
volumes:
db:
```
> MariaDB est optionnelle — SQLite fonctionne très bien pour un usage mono-utilisateur. Pour le multi-utilisateurs, basculer sur MariaDB/Postgres.
### Installation manuelle
Possible (binaire Go + FFmpeg + TensorFlow) mais peu documentée — Docker est la voie standard.
## ⚙️ Configuration
- **Hardware** : 2-4 vCPU, 4 Go RAM minimum, 8 Go recommandé pour l'indexation initiale.
- **Dossiers** : `originals` (vos photos), `import` (dossier d'upload temporaire), `storage` (cache, index DB, thumbnails).
- **Mode read-only** : vous pouvez pointer `originals` sur vos fichiers existants sans rien copier — c'est un des gros avantages vs Immich.
- **Worker tuning** : `PHOTOPRISM_WORKERS` (nombre de workers d'indexation), `PHOTOPRISM_DISABLE_*` pour désactiver les modèles ML non désirés.
- **HTTPS** : obligatoire via reverse proxy (Caddy/Traefik) pour utiliser les fonctions de partage.
## 🔗 Alternatives
- **[[app-immich]]** — Plus moderne, appli mobile native excellente, copie les fichiers
- **[[app-librephotos]]** — Approche similaire avec stack Python
- **[[app-lychee]]** — Beaucoup plus simple, pas d'IA, juste de la galerie
## 🔒 Sécurité
- **Authentification** intégrée (utilisateurs locaux), OIDC/LDAP supportés.
- **Reverse proxy** indispensable en prod (l'app écoute en HTTP par défaut).
- **Droits filesystem** : le container doit pouvoir lire `originals` — attention aux partages NFS/SMB.
## 📚 Ressources
- [Site officiel PhotoPrism](https://photoprism.app)
- [Repository GitHub](https://github.com/photoprism/photoprism)
- [Documentation utilisateur](https://docs.photoprism.app/)
## 🔗 Pages Liées
- [[cat-photos]] (n'existe pas encore, OK)
- [[app-immich]]
- [[app-lychee]]
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]