NAS Synology : comment auto-héberger immich avec Docker ?
Sommaire
I. Présentation
Dans ce tutoriel, nous allons voir comment installer immich sur un NAS Synology, à l’aide de Docker (Container Manager). L’application open source immich représente une alternative aux services Cloud comme Google Photos, mais aussi à Synology Photos, le paquet développé directement par la marque de NAS.
Avant de commencer, sachez que immich est une application assez gourmande. Les conteneurs consomment à minima 1 Go de RAM avec la configuration par défaut, donc si vous avez un NAS avec seulement 2 Go de RAM, je vous déconseille de l’installer.
Cet article aborde uniquement l’installation d’immich sur un NAS Synology. Pour en savoir plus sur l’utilisation de l’application et sa configuration, consultez cet article :
II. Installer immich avec Synology
A. Créer les répertoires
Au-delà de disposer de Container Manager sur le NAS, la première étape consiste à créer les répertoires nécessaires au bon fonctionnement de l’application.
Dans le répertoire , commencez par créer un dossier nommé et à l’intérieur, créez trois sous-dossiers :
- : il contiendra la bibliothèque par défaut, c’est dans ce répertoire que vos photos et vidéos seront stockées.
- : il contiendra les données de PostgreSQL, le moteur de base de données qui sera lié à immich.
- : il contiendra le cache du modèle de machine learning.
Vous devriez obtenir ceci :

B. Docker Compose pour immich
Désormais, vous allez récupérer les fichiers et depuis le GitHub officiel du projet. Nous allons utiliser ces fichiers comme point de départ. Déposez les deux fichiers à la racine du répertoire sur votre NAS.
- github.com/immich-app/immich/releases/latest/download/docker-compose.yml
- github.com/immich-app/immich/releases/latest/download/examplev.env
Directement à partir du NAS, vous pouvez éditer le fichier , mais pour cela, renommez-le en . Sinon, l’éditeur de texte de DSM (disponible dans le Centre de paquets) ne proposera pas l’édition du fichier.

Modifiez le fichier. Il contient les variables d’environnement et permet donc de personnaliser le déploiement de l’application.
Ce que vous devez modifier à minima, c’est le mot de passe pour la base de données (sans caractères spéciaux, ni espace). Générez un mot de passe de 32 caractères. Ci-dessous, un exemple, mais utilisez votre propre mot de passe.
Un second changement est à effectuer pour spécifier le fuseau horaire. L’exemple ci-dessous associe le fuseau horaire correspondant à Paris, pour la France, donc. La variable doit être personnalisée :
Enregistrez et fermez ce fichier.

Renommez le fichier avec ce nom : .
C. Déployer le projet avec Container Manager
Ouvrez l’application Container Manager et créez un nouveau projet. Nommez ce projet et pour le “Chemin“, spécifiez le dossier racine créé précédemment, à savoir .

Container Manager détecte qu’il y a déjà un fichier Docker Compose à cet emplacement. C’est normal, il s’agit de notre fichier créé précédemment. Validez le fait de l’utiliser.

Poursuivez jusqu’à la fin pour lancer la construction du projet.

Une fois le projet construit, 4 conteneurs sont en cours d’exécution. Comme le montre l’image ci-dessous, ils consomment plus de 1 Go de RAM.

Dès à présent, l’application immich doit être accessible à partir d’un navigateur ! L’adresse sera : . Si le pare-feu de DSM est actif sur votre NAS, veillez à créer une règle pour ouvrir ce port, sinon l’accès sera refusé.
Je vous recommande plutôt de publier l’application via le reverse proxy de DSM, notamment si vous souhaitez accéder à vos fichiers depuis n’importe où, ou pouvoir faire la synchronisation avec un smartphone connecté en 5G/Wi-Fi.
D. Le reverse proxy pour immich
La configuration du reverse proxy se situe ici : Panneau de configuration> Portail de connexion > Avancé > Proxy inversé.
Vous n’avez qu’à créer une nouvelle entrée pour l’application immich. L’exemple ci-dessous va permettre d’accéder à l’application via l’URL suivante : . Si vous avez besoin d’aide, consultez cet article :

Cliquez ensuite sur l’onglet “En-tête personnalisé“, puis cliquez sur le bouton “Créer” et choisissez “WebSocket“. Ceci permet d’avoir les bons en-têtes HTTP et d’assurer le bon fonctionnement de l’application.

En complément, vous devez déployer un certificat TLS pour cette adresse afin de disposer d’une connexion sécurisée (sans avertissement). La configuration se situe ici : Panneau de configuration > Sécurité > Certificat.
Pour cela, je vous oriente vers ce précédent tutoriel :
Quand c’est fait, ouvrez votre navigateur et vous devriez pouvoir accéder à l’application via la nouvelle adresse, avec à la clé une connexion sécurisée : .

E. Configuration d’immich
Désormais, vous devez passer à la configuration initiale de l’application et effectuer vos premiers pas dans son utilisation. Pour cela, référez-vous à mon tutoriel complet sur immich, cela m’évitera de me répéter inutilement :
III. immich : ajouter une bibliothèque externe
Avec la configuration actuelle, l’ensemble des photos et vidéos chargées par vos utilisateurs seront stockées à cet emplacement : . Il y aura des sous-dossiers par utilisateur, en fonction des utilisateurs créés sur votre instance immich.
Vous pouvez, si vous le souhaitez, connecter un autre répertoire à votre instance immich. C’est la notion de bibliothèque externe. Ce type de bibliothèque est ensuite rattaché à un utilisateur, qui en est le propriétaire. À l’heure actuelle, immich ne permet pas de déposer des fichiers dans les bibliothèques externes, mais il peut lire les données et les indexer. Autrement dit, le répertoire sera monté en lecture seule, car il n’y a pas d’intérêt à le monter en lecture/écriture.
Imaginons que je souhaite lier le dossier situé dans mon profil utilisateur. Cela donne le chemin suivant (que vous pouvez récupérer dans les propriétés du dossier pour éviter les erreurs de saisie) :
Ensuite, il faut mapper ce dossier dans le conteneur. Donc, vous devez modifier les du service . Voici un exemple :
Cette modification peut être effectuée à tout moment dans le fichier de configuration YAML du projet dans Container Manager. Au préalable, vous devez arrêter le projet.

La suite se passe sur l’interface d’immich.
Dans les paramètres de l’interface d’administration, cliquez sur “Bibliothèques externes” dans le menu latéral et ajoutez une nouvelle bibliothèque avec le bouton situé en haut à droite.

Ici, vous devez préciser le chemin dans lequel a été monté votre répertoire. Ici, nous précisons , car c’est la valeur précisée dans le fichier Docker Compose ()

Vous pouvez ensuite renommer la bibliothèque et définir les paramètres d’analyse, notamment pour configurer des exclusions (sur certains types de fichiers, par exemple). Vous pouvez aussi lancer une analyse. L’exemple ci-dessous montre qu’une photo a été trouvée. Désormais, l’utilisateur propriétaire pourra retrouver cette photo au sein des autres médias de sa bibliothèque.

La bibliothèque externe située sur le NAS Synology a été correctement ajoutée à immich !
IV. Conclusion
Vous savez désormais comment installer Immich sur votre NAS Synology à l’aide de Docker (Container Manager). Grâce à cette méthode, vous profitez d’une solution libre et performante pour centraliser, organiser et sauvegarder vos photos sans dépendre de services cloud externes comme Google Photos. Immich offre un contrôle total sur vos données personnelles, directement hébergées sur votre NAS.
Prochaine étape : explorez les options de configuration d’Immich (indexation automatique, utilisateurs, sauvegarde mobile, etc.) pour tirer pleinement parti de votre nouvelle installation.