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

4.7 KiB


📸 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
Repository 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é)

# 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

🔗 Pages Liées