Immich en détail : architecture, sauvegardes et limites de confidentialité d’une photothèque auto-hébergée
Une analyse pratique de la sauvegarde mobile, des services REST, des tâches Redis, de PostgreSQL, du service d’apprentissage automatique, du stockage, de Docker et de la restauration.
Positionnement et signal actuel
Immich est un système auto-hébergé de gestion de photos et vidéos centré sur la sauvegarde mobile, la consultation, la recherche, le partage et les comptes multiples. Lors de la collecte, le dépôt comptait 108 332 Stars, environ 193 commits sur la branche principale en 30 jours et une version v3.0.3 publiée depuis moins d’une semaine. Ce n’est pas une simple galerie : clients, traitement, métadonnées, recherche et stockage durable passent sous le contrôle de l’opérateur.
Usages et fonctions principales
Les usages courants sont la sauvegarde automatique des téléphones d’un foyer, les bibliothèques partagées, la recherche par lieu ou métadonnées, les liens publics et la gestion de RAW, Live Photos et vidéos. Le produit ajoute regroupement des visages, recherche CLIP, détection de doublons, bibliothèques externes et API. L’expérience se rapproche d’un service photo hébergé tout en gardant la maîtrise de l’infrastructure. La disponibilité et la restauration deviennent alors la responsabilité de l’administrateur.
Architecture et circulation des données
La conception officielle suit un modèle client-serveur. Android, iOS, Web et CLI appellent l’API REST; le serveur dialogue avec PostgreSQL, Redis, le service de machine learning et le système de fichiers. Redis distribue les tâches de miniatures, transcodage et reconnaissance. PostgreSQL conserve utilisateurs, chemins et métadonnées, tandis que les originaux et dérivés résident dans le répertoire d’upload. Les traitements de visages renvoient des vecteurs, ensuite utilisés pour la recherche de voisins et le regroupement.