Pendant des années, mes photos étaient éparpillées : dossiers thématiques sur le NAS, photos du téléphone dans un coin, albums vacances ailleurs. Pas de galerie unifiée, pas de recherche par visage, pas de timeline. Immich répond à tout ça, en self-hosted, avec une interface qui rivalise avec Google Photos.
Pourquoi Immich
Il existe plusieurs alternatives self-hosted à Google Photos : PhotoPrism, Piwigo, Nextcloud Photos. Immich s’en distingue sur un point décisif : l’application mobile. L’app iOS est aussi bonne que Google Photos côté expérience : backup automatique en arrière-plan, interface rapide, reconnaissance faciale, albums partagés. C’est le critère qui a éliminé les autres pour moi.
Les atouts qui m’ont convaincu :
- Reconnaissance faciale locale (machine learning embarqué, 0 envoi vers l’extérieur)
- Recherche intelligente : « plage 2023 », « anniversaire », « chien » : ça fonctionne vraiment
- Timeline identique à Google Photos
- Albums partagés avec la famille
- Mémoires (« il y a 3 ans… »)
- Ouvert : API complète, CLI, intégration HA possible
Immich vs Google Photos : le comparatif
C’est la vraie question quand on cherche une alternative self-hosted. Voici ce qu’Immich fait aussi bien, mieux, et moins bien que Google Photos.
| Fonctionnalité | Immich | Google Photos |
|---|---|---|
| Backup automatique mobile | ✅ iOS + Android (app native) | ✅ |
| Reconnaissance faciale | ✅ locale, 0 cloud | ✅ cloud Google |
| Recherche sémantique | ✅ « plage 2023 », « chien » | ✅ |
| Timeline chronologique | ✅ | ✅ |
| Mémoires (il y a X ans) | ✅ | ✅ |
| Albums partagés | ✅ | ✅ |
| Liens publics temporaires | ✅ | ✅ |
| Édition photo intégrée | Basique | Avancée (retouche IA) |
| Stockage | Illimité (ton disque) | 15 GB gratuit, puis payant |
| Confidentialité | ✅ 100% local | ❌ données Google |
| Coût mensuel | Électricité serveur (~1-2€/mois) | 3€/mois (100 GB) à 10€/mois (2 TB) |
| Hors connexion | ✅ réseau local | ❌ cloud obligatoire |
Le seul vrai point faible d’Immich face à Google Photos : l’édition photo. Les retouches IA de Google (gomme magique, éclairage, etc.) n’ont pas d’équivalent dans Immich. Pour tout le reste, la parité est réelle — et le stockage illimité sur ton propre disque change tout si tu as des milliers de photos.
Architecture sur mon homelab
Immich tourne dans un conteneur LXC sur Proxmox, hébergé sur le nœud MS-01 (Minisforum MS-01 i9). Ce choix n’est pas anodin : le MS-01 embarque un iGPU Intel Arc qui sert à accélérer le machine learning d’Immich via Quick Sync. La reconnaissance faciale et la recherche CLIP sur 80 000 photos passent de plusieurs heures à moins d’une heure grâce à ça.
Répartition du stockage :
- Immich (logiciel + PostgreSQL + cache + thumbnails) : volume SSD du LXC, sur le NVMe du MS-01
- Photos originales : UNAS Pro monté en NFS (SFP+ 10GbE), les originaux ne quittent jamais le NAS
- Backup du LXC : Proxmox Backup Server sauvegarde le conteneur entier quotidiennement
Les photos originales restent sur le UNAS. Immich y accède via NFS pour lire les fichiers, crée ses thumbnails et sa base de données localement sur le SSD du LXC.
Installation via community-scripts
Plutôt que d’installer Immich à la main composant par composant, j’ai utilisé le script communautaire community-scripts.org/scripts/immich. Ce script crée automatiquement le LXC sur Proxmox avec toutes les dépendances (PostgreSQL, Redis, Node) et configure Immich en une seule commande. La documentation officielle reste la référence si tu veux personnaliser l’installation au-delà des options du script.
Depuis le shell Proxmox :
bash -c "$(wget -qLO - https://community-scripts.github.io/ProxmoxVE/ct/immich.sh)"
Le script propose un mode interactif qui demande les ressources à allouer (RAM, CPU, stockage). J’ai opté pour 8 Go RAM et 4 vCPU , la recommandation pour le ML embarqué.
Une fois le LXC créé, Immich est accessible sur le port 2283 de l’IP du conteneur. La configuration se fait ensuite dans l’interface web.
Montage NFS depuis le UNAS
Les photos originales restent sur le UNAS Pro. Le LXC Immich monte le partage NFS au démarrage pour y accéder en lecture/écriture.
Dans la configuration du LXC Proxmox (fichier /etc/pve/lxc/ID.conf), j’ai ajouté le bind mount NFS :
# Monter le partage NFS UNAS dans le LXC
mp0: /mnt/pve/unas-photos,mp=/mnt/immich-photos
Côté Immich, le chemin de stockage des uploads pointe vers ce montage. Les originaux atterrissent directement sur le UNAS, sans transiter par le SSD du LXC.
iGPU passthrough pour le machine learning
Le MS-01 dispose d’un iGPU Intel Arc. Immich sait l’exploiter pour accélérer les tâches ML (reconnaissance faciale, embeddings CLIP pour la recherche). Sans accélération, l’indexation initiale de dizaines de milliers de photos prend des heures. Avec Quick Sync, ça descend à une fraction du temps.
Dans la config LXC, on passe le device GPU au conteneur :
lxc.cgroup2.devices.allow: c 226:* rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
Dans Immich (Administration > Machine Learning > Hardware Acceleration), sélectionner OpenVINO pour les GPU Intel. Après redémarrage du service, la charge CPU lors de l’indexation chute et le traitement accélère sensiblement.
Import des photos existantes
Je n’ai pas eu de migration Google Photos à faire : mes photos étaient déjà organisées en dossiers thématiques sur le UNAS (vacances par année, photos famille, divers). J’ai simplement importé ces dossiers dans Immich via l’outil CLI officiel.
Depuis le LXC :
# Générer une API key dans Immich : Settings > API Keys
immich upload --recursive /mnt/immich-photos/vacances-2022 \
--server http://localhost:2283 \
--key VOTRE_API_KEY
L’import est intelligent : Immich lit les métadonnées EXIF pour dater les photos correctement, gère les doublons, et peut reprendre là où il s’est arrêté si on l’interrompt. Mes dossiers thématiques ont été importés les uns après les autres, chacun devenant un album dans Immich.
Application mobile
L’app Immich (iOS/Android) se connecte à l’instance via l’URL locale ou externe. Sur iPhone, le backup automatique fonctionne en arrière-plan sur Wi-Fi. Les nouvelles photos arrivent dans Immich sans rien faire.
J’expose Immich vers l’extérieur via Nginx Proxy Manager pour accéder aux photos hors réseau local, depuis l’app mobile ou le navigateur.
Backup
La stratégie de backup Immich est simple grâce à PBS :
- LXC entier : Proxmox Backup Server sauvegarde le conteneur quotidiennement, PostgreSQL inclus
- Photos originales : sur le UNAS, intégrées dans la stratégie de backup du NAS (réplication sur disque externe)
Pas de script de dump PostgreSQL séparé à gérer : PBS capture le LXC complet avec la DB dedans. En cas de problème, restauration complète en quelques minutes depuis l’interface Proxmox.
Immich évolue vite et les versions ne sont pas toujours rétrocompatibles. Avant chaque mise à jour, je consulte les release notes sur GitHub et je prends un snapshot PBS du LXC. Si la mise à jour plante la DB ou casse quelque chose, restauration immédiate. Ça prend 2 minutes et ça évite les mauvaises surprises.
Immich au quotidien
Depuis l’import, toutes mes photos arrivent automatiquement dans Immich depuis le téléphone. La reconnaissance faciale a identifié les personnes les plus présentes dès les premières heures. La recherche « vacances montagne » ou « anniversaire » retrouve les bonnes photos sans que je les aie taggées manuellement.
Point d’attention : Immich évolue rapidement. Lis toujours le changelog avant une mise à jour et prends un snapshot PBS. Le blog officiel d’Immich documente chaque nouvelle fonctionnalité et les éventuels changements de comportement. Les nouveautés valent la contrainte.
FAQ
Pourquoi LXC plutôt que Docker pour Immich sur Proxmox ?
LXC s’intègre mieux dans l’écosystème Proxmox : snapshot PBS natif, gestion des ressources plus fine, et le script community-scripts crée tout automatiquement. Immich dans un LXC se comporte exactement comme en Docker mais avec une couche de gestion unifiée avec le reste du homelab.
Faut-il un GPU pour faire tourner Immich correctement ?
Pas obligatoire mais utile pour l’ingestion initiale. Avec l’iGPU Intel Arc du MS-01 via OpenVINO, le ML tourne sensiblement plus vite qu’en CPU seul. Pour l’usage quotidien (quelques dizaines de nouvelles photos par jour), le CPU seul suffit.
Les photos originales sont-elles en sécurité sur le NAS ?
Immich accède au UNAS Pro en lecture/écriture via NFS mais ne déplace pas les originaux. Le NAS gère sa propre stratégie de backup indépendamment d’Immich. PBS sauvegarde le LXC Immich (PostgreSQL, cache, thumbnails), les originaux restent sous la responsabilité du UNAS.
Immich peut-il remplacer Google Photos au quotidien ?
Oui pour l’essentiel : upload mobile automatique, timeline fluide, recherche par visage/lieu/objet, albums partagés famille. La seule limite notable est la création automatique de « mémoires » moins soignée que Google Photos.
Crée un compte séparé pour chaque membre de la famille. Ator a son propre compte avec sa bibliothèque, et on partage des albums communs pour les photos de famille. Chacun voit uniquement ce qui le concerne, les albums partagés sont accessibles aux deux. Tu peux aussi créer des liens publics temporaires pour partager un album avec des proches sans compte Immich.
Immich est-il vraiment gratuit ?
Oui, Immich est open-source et gratuit. Tu paies uniquement l’électricité du serveur qui le fait tourner — sur mon LXC Proxmox, c’est négligeable (1-2€/mois au maximum). Il n’y a pas de plan payant, pas de limite de stockage, pas de télémétrie. Le projet est financé par les dons de la communauté.
Immich fonctionne-t-il bien sur iPhone ?
Oui, c’est l’un des points forts d’Immich. L’app iOS fait un backup en arrière-plan automatique, gère le Wi-Fi uniquement si tu veux, et l’interface est proche de Photos d’Apple. C’est ce qui m’a convaincu par rapport aux autres alternatives : PhotoPrism et Piwigo ont des apps mobiles nettement moins abouties.
Combien de RAM faut-il pour faire tourner Immich ?
Le minimum viable est 2 GB de RAM pour le LXC. Sur mon installation, Immich consomme en moyenne 1.4 GB au repos et monte à 2.5 GB lors des ingestions avec le machine learning actif. Si tu désactives le ML (reconnaissance faciale et recherche sémantique), 1 GB suffit. Pour un usage familial confortable avec le ML, je recommande 4 GB.
Pour aller plus loin
- Proxmox Backup Server : sauvegarder VMs et LXC : la base du backup qui protège le LXC Immich
- Proxmox VE : créer ses premières VMs et containers LXC : comprendre les LXC avant d’installer Immich
- Nginx Proxy Manager : HTTPS sans prise de tête : exposer Immich en HTTPS pour l’app mobile externe
- Mon setup homelab 2026 : vue d’ensemble du cluster Proxmox et des services qui tournent









