Docker Stockage

Immich sur Proxmox : remplacer Google Photos en self-hosted

· 21/04/2026 · Mis à jour le 27/05/2026 · 8 min de lecture
En bref — Immich est la vraie alternative self-hosted à Google Photos : upload mobile automatique, reconnaissance faciale en local, recherche sémantique, timeline fluide. Installation en LXC sur Proxmox via un script communautaire, photos stockées sur le UNAS Pro via NFS. Mes photos de différents dossiers importées en quelques clics, 0 dépendance cloud.

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

Site officiel Immich : self-hosted photo and video management solution
Immich : galerie photos self-hosted open-source, développée activement depuis 2022.

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éImmichGoogle 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éeBasiqueAvancée (retouche IA)
StockageIllimité (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.

LXC Immich dans Proxmox : uptime, consommation RAM et CPU, créé via community-scripts
Le LXC Immich sous Proxmox : 870 Mo RAM, 0,1% CPU en veille, uptime 1 jour. Créé en une commande via community-scripts.

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.

Immich machine learning : détection des doublons et des visages en cours sur 9762 médias
Le ML tourne en arrière-plan après l’import : détection des doublons et reconnaissance des visages sur l’ensemble de la bibliothèque.

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.

Immich : bibliothèque principale avec la timeline de photos organisée par date
La bibliothèque Immich : timeline chronologique, albums, et 35 To déjà indexés sur le UNAS.

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.

Application mobile Immich sur iPhone : timeline de photos par date avec backup automatique actif
L’app iOS Immich : timeline identique à Google Photos, backup automatique actif (icône nuage), navigation par date.

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.

💡 Snapshots avant mise à jour

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.

💡 Albums partagés famille

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.

Vous avez aimé cet article ?

Rejoignez la newsletter : nouveaux articles & contenu exclusif directement par mail, sans pubs.

Je m'abonne

Pour aller plus loin