Installer Immich sur un NAS Synology

J’adore Synology Photos, mais les récents changements opérés par le fabricant me poussent à envisager des alternative. Par le passé, je vous ai présenté plusieurs solutions pour remplacer Google Photos : Piwigo, Nextcloud, PhotoPrism et plus récemment Immich. Immich s’impose déjà comme une référence dans la communauté. Aujourd’hui, je vous propose de découvrir comment installer Immich sur un NAS Synology.

Immich et NAS Synology

Immich est une solution open source puissante pour gérer vos photos. Avec ses nombreuses fonctionnalités et mises à jour fréquentes (jusqu’à cinq par mois), elle évolue rapidement et reste à la pointe. Si ce rythme peut paraître important, sachez qu’il n’est pas indispensable d’appliquer chaque mise à jour immédiatement. L’équipe de développement se concentre actuellement sur la stabilisation du logiciel, ce qui est plutôt rassurant. Je vous renvoie vers mon précédent article pour (re)découvrir les fonctionnalités principales…(liste des meilleures bibliothèques photo Open Source)

Lors de ma première utilisation, j’ai été bluffé par l’étendue de ses capacités. Toutefois, Immich n’est pas sans défauts : il consomme une quantité importante de mémoire vive (prévoyez plus de 2 Go de RAM) et ne propose pas encore d’application officielle pour Android TV ou Apple TV (bien qu’il existe des alternatives).

Immich dans Container Station (Docker)

Pour faciliter l’installation, je vous ai préparé un fichier Docker Compose adapté à la plupart des NAS Synology. Ce fichier, basé sur le fichier officiel (lien ici), vous permettra de découvrir Immich en seulement quelques minutes.

Prérequis

  • Assurez-vous d’avoir installé Container Manager depuis le Centre de paquets de Synology
  • Créez un dossier nommé Immich dans le répertoire docker à la racine de votre NAS. Ce dossier devra contenir trois sous-dossiers : library, model-cache et postgres.

Conteneurs créés automatiquement

L’installation va créer 4 conteneurs :

  1. immich_server : le cœur de l’application.
  2. immich_machine_learning : pour la détection des visages et des objets.
  3. immich_postgres : la base de données.
  4. immich_redis : gestion des recherches intelligentes.

Je vous propose de télécharger le fichier Docker Compose qui se nomme compose.yaml généré grâce à Container Manager de Synology. Voici ce qu’il contient :

version: '3.8'

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    # Transcodage materiel : NAS avec un processeur Intel, retirer les 2 # ci-dessous
    # devices:
    #  - /dev/dri:/dev/dri
    volumes:
      - ./library:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      UPLOAD_LOCATION: /usr/src/app/upload
      TZ: Europe/Paris
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - ./model-cache:/cache
    environment:
      TZ: Europe/Paris
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg16-v0.2.1
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
    volumes:
      - ./postgres:/var/lib/postgresql/data
    healthcheck:
      test: >-
        pg_isready --dbname="immich" --username="postgres" || exit 1;
      interval: 5m
      retries: 3
      start_period: 5m
    restart: always

Installation

  1. Ajoutez le fichier compose.yaml dans le dossier Immich
  2. Ouvrez Container Manager et naviguez vers le menu de gauche « Projets« . Cliquez sur le bouton Créer
  3. Remplissez les champs requis et suivez les instructions (voir capture ci-desous)
  4. appuyez sur Suivant, puis encore Suivant et enfin Effectué
  5. Attendez quelques minutes que les conteneurs soient prêts

Utilisation

Maintenant, vous pouvez ouvrir un nouvel onglet de votre navigateur et tapez au choix :

  • http://NomDuNAS:2283
  • http://AdresseIP:2283

Vous devriez voir apparaitre cet écran

 

Après avoir appuyé sur le bouton Commencer, vous devez saisir les informations nécessaires à la création du compte administrateur.

Tout de suite après, vous vous connectez, un petit guide va vous permettre de faire les derniers réglages (mode clair/sombre, respect de la vie privée et modèle de stockage) et ensuite vous avez accès à Immich. Vous pouvez continuer à utiliser l’interface Web et/ou l’application depuis votre téléphone.

Vous pouvez envoyer vos photos directement via votre navigateur. Immich gère à la fois les envois individuels et massifs (y compris plusieurs dossiers). Par exemple, un dossier contenant 6 860 fichiers (6 490 photos et 370 vidéos) pour un total de 40 Go a été téléversé en 11 minutes environ. Le système gère automatiquement les doublons (et vous propose un lien pour les supprimer facilement) et génère des miniatures (vignettes) pour faciliter la navigation.

La durée de création des vignettes dépendra de votre NAS et du nombre de fichiers. Si elles ne sont pas immédiatement disponibles, soyez patient. La durée dépendra du nombre de fichiers et du processeur de votre NAS. Si vous interrogez la bibliothèque et que les vignettes ne sont pas encore générées, vous verrez ceci

 

Sauvegarde et synchronisation depuis l’application

Quelques précisions qui peuvent avoir leurs importances. L’application mobile est capable de sauvegarder en arrière-plan, ce n’est pas nouveau, mais c’est important de le rappeler. Aussi, il est possible depuis l’application de supprimer une photo de votre appareil photo (album en local) et cela aura également pour effet de la supprimer de votre NAS. La photo sera alors dans la corbeille Immich pendant 30 jours (par défaut, mais modifiable).

Optimisations et paramètres avancés

Immich consomme beaucoup de mémoire vive. Le processeur est lui aussi très sollicité et nous allons voir si dessous comment optimiser l’installation.

Réduction de la consommation mémoire

Le Machine Learning est l’élément le plus gourmand en ressources. Vous pouvez :

  • Désactiver complètement le Machine Learning depuis Administration > Paramètres > Paramètres de l’apprentissage automatique
  • Limiter la recherche intelligente tout en conservant la reconnaissance faciale et la détection des doublons. Avec ces ajustements, la consommation de mémoire peut descendre sous 600 Mo

Il est possible de limiter la consommation de la mémoire au niveau du container Machine Learning , mais attention à ne pas trop le limiter (ex. : 512 Mo) au risque de générer des erreurs serveur.

Transcodage vidéo

Si votre NAS dispose d’un processeur Intel, vous pouvez profiter de l’accélération matérielle intégrée. L’équipe Immich indique « Notez que le transcodage matériel produit des vidéos beaucoup plus volumineuses que le transcodage logiciel avec des paramètres similaires, généralement avec une qualité inférieure ». Pour en savoir plus, rendez-vous sur cette page dédiée. Pour activer cette fonctionnalité, retirez les commentaires des lignes 10 et 11 dans le fichier Docker Compose.

Il est possible paramétrer finement le transcodage depuis l’interface Immich dans réglage Administration > Paramètres > Paramètres de transcodage vidéo.

Modèles de Machine Learning

Par défaut, Immich utilise le modèle buffalo_l pour la reconnaissance faciale. Si votre NAS est limité en ressources, optez pour le modèle buffalo_s, plus rapide et moins gourmand. Ce paramètre est modifiable depuis Administration > Paramètres > Reconnaissance faciale.

Pour cela, allez dans Paramètres de l’apprentissage automatique > Reconnaissance faciale. Pour en savoir plus sur les modèles de détection, rendez-vous sur cette page.

Recherche intelligente multilingue

Pour une recherche plus performante en français, vous pouvez télécharger un modèle adapté comme ViT-H-14-378-quickgelu__dfn5b dans Paramètres du système > Paramètres de l’apprentissage automatique > Recherche Intelligente. Si vos recherches ne sont pas optimales, pensez à réindexer vos fichiers via Administration > Tâches > Recherche intelligente.

En synthèse

Immich s’impose comme une alternative prometteuse à Synology Photos, idéale pour les amateurs de photographie et les utilisateurs de NAS souhaitant une gestion avancée et personnalisable de leurs fichiers multimédias. Immich fonctionne depuis n’importe quel navigateur et il existe une application Android et iOS. Cependant, sa consommation importante de mémoire pourra en freiner plus d’un. Si votre NAS a moins de 2 GO de RAM, passez votre chemin.

  1. Bonjour,

    Pouvez-vous préciser les récents changements opérés par Synology qui vous poussent à envisager des alternatives ?
    J’utilise Synology Photos mais j’aimerais anticiper au cas ou vous auriez des doutes sur sa pérennité comme pour Synology Video Station.

    1. Synology a en effet supprimé des fonctions dans ses applications avec DSM 7.2.2, notamment avec la disparition de Video Station et de la conversion et transcodage dans Photos (https://www.cachem.fr/synology-dsm-7-2-2-debarque-... https://www.synology.com/fr-fr/dsm/7.2/software_spec/synology_photos#synology_photos__limitation).

      Dans mon cas personnel, je ne peux plus envoyer directement des fichiers HEIC dans Synology Photos (même constat pour mes fichiers RAW). Je suis obligé de les convertir en amont dans un format compatible, comme le JPG, avant de les transférer. Cela ne posait aucun souci avant. Pour les vidéos, c’est un peu le même problème : les formats pris en charge sont désormais encore plus limités.

      J’apprécie beaucoup Synology Photos, mais l’outil stagne et certaines fonctionnalités disparaissent. C’est vraiment regrettable… c’est pour cette raison que j’explore les alternatives.

      1. Bonjour,

        Bien que je sois également en phase de découverte d’Immich et que je partage la même situation que vous avec Synology Photos, je me permets de préciser qu’il est possible de retrouver certaines fonctionnalités perdues lors du passage à DSM 7.2.2.

        Pour cela, vous pouvez consulter ce dépôt GitHub : https://github.com/007revad/Video_Station_for_DSM_...

        Ce projet permet de récupérer ce qui a été supprimé lors de la mise à jour, notamment Video Station, Advanced Media Extensions, etc.

        Dans mon cas, je n’ai réinstallé qu’Advanced Media Extensions, ce qui m’a quand même permis de retrouver la lecture des fichiers HEIC directement dans Synology Photos.

  2. Intéressant , j’apprécie le fait de pouvoir désactiver la reconnaissance faciale . Seule ombre au tableau la RAM nécessaire surtout si d’autres Docker sont déjà installés.

    1. Merci pour l’info sur le module. Ca marche nickel et complète l’installation et la config de base de Immich 😉

  3. Avez-vous essayé Photoprism comme autre alternative? Immich permet-il de gérer plusieurs utilisateurs, chacun avec sa librairie de photos?

  4. Hello à tous idem, pour bricoler, par le passé, j’avais installé deux ou trois trois autres docker container de gestion de photo, sans en comprendre réellement la plus value / à synology photo.

    Si il y’a des retours concrets, je suis prenneur.

  5. Bonjour,

    J’ai vu qu’il y avait une mise à jour du serveur Immich hier soir.
    Comment faire cette mise à jour, suite à cette installation qui fonctionne parfaitement sur un Syno DS224+ ?
    Pour info, je suis passé de 2Go à 18 Go de RAM (j’ai ajouté une barrette de 16Go DDR4) pour être à l’aise et je n’ai pas eu besoin de modifier la configuration pour optimiser, ça tourne très bien.

    Bonne journée.
    Gérard

    1. dans le dossier ou il y a ton fichier docker ,tu lance cette commande
      docker-compose pull && docker-compose up

      ca va mettre a jour le tout

      1. Bonjour, je n’ai pas bien compris la procédure pour mettre à jour le serveur. Si quelqu’un peut détailler la procédure…

        Merci en tout cas pour cette découverte et bonne journée

        1. Bonjour,
          On peut faire la maj depuis Container Manager:
          1. dans Projet sélectionner immich puis Action-> Nettoyer
          2. dans Image, cliquer sur « supprimer les images non utilisées »
          3. retourner dans Projetm, sélectionner immich puis Action->créer
          4. Container Manger va télécharger les nouvelles versions et démarrer immich
          5. je viens de faire cette procédure pour la version 1.125.6

          Bonne journée

          1. Bonjour à tous,

            Merci Steve, il me manquait juste ça… pour tout le reste, j’étais bon.
            Bonne journée

      2. Bonjour Romain,

        Merci pour ton aide, ça a fonctionné parfaitement.
        Je n’y connais rien en Docker, mais je pense que je vais m’y mettre, ça a l’air intéressant.

        Bonne journée,
        Gérard

  6. Bonjour,
    Comment fait-on pour changer le modèle de recherche intelligente par ViT-H-14-378-quickgelu__dfn5b par exemple ?
    Merci 😉

    1. En allant dans Paramètres du système > Paramètres de l’apprentissage automatique > Recherche Intelligente
      et tu copies/colles ViT-H-14-378-quickgelu__dfn5b dans le champs Modèle de langage CLIP
      Modele de langage CLIP
      Pense à réindexer si tu as déjà des photos

  7. Bonjour, j’ai bien installer immich selonla procédure ci-dessus et nickel.
    Par contre je souhaite conserver les fichier créer par synology photo et d’importer ses dossier dans immich.
    Cela est-il possible? Si oui comment?
    Pour le moment je n’ai pas trouvé

    1. Bonjour,
      Je viens de le faire. j’ai ajouté dans le fichier de config Docker le volume:
      volumes:
      – ./library:/usr/src/app/upload
      – /etc/localtime:/etc/localtime:ro
      – /volume2/photo:/mnt/media/photo:ro

      et j’ai ajouté les permission pour l’application ContainerManager sur le dossier photo en lecture seule dans l’interface du Syno.

      La reconnaissance des visages est bluffante par rapport à celle de Synology:
      J’ai les mêmes photos dans les 2 applications et voici les différences:
      visage 1: 3202 photos dans Syno, 5032 dans Immich
      visage 2: 3919 photos dans Syno, 4943 dans Immich
      visage 3: 2179 photos dans Syno, 2569 dans Immich
      visage 4: 2157 photos dans Syno, 2655 dans Immich

      Pour le moment, je laisse les 2 en paralèle avec la sauvegarde via synology photo.
      Les 2 applications mobiles fonctionnent bien.

      1. J’ai oublié de préciser, j’ai environ 24000 photos.
        La reconnaissance des visages à duré environ 40h sur un DS916+

        1. « et j’ai ajouté les permission pour l’application ContainerManager sur le dossier photo en lecture seule dans l’interface du Syno. »

          Et ce que tu pourrais détailler STP car je n’arrive pas à trouver comment ajouter les droits.
          Merci

          1. Il faut aller dans File Station, ouvrir les propriétés du dossier photo que l’on veut ajouter sous Immich, puis dans l’onglet permissions, cliquer sur créer.
            Dans la liste il faut sélectionner l’application « Container Manager » ou peut-être « Docker » et cocher « lire »

            Ensuite dans Immich, il faut ajouter le point de montage dans le menu administration, Bibliothèques externes, Créer une bibliothèque, Modifier les chemins d’importation, ajouter un chemin et entrer le chemin définir dans la configuration docker par exemple /mnt/media/photo

  8. Merci Steve, je n’ai pas Container ni Docker dans la liste, mais ca fonctionne sans mettre les droits sur d’autres dossiers du coup.

  9. Une « bête » question sans doute mais, est-on obligé de re-uploader toutes ses photos ? J’ai 434 GO de photos/vidéos sur +/- 74000 fichiers. J’avoue que si on ne peut pas « lier » Immich avec le dossier photos de Synology Photos, ça me freine un peu pour essayer.

    1. il faut passer par le stockage externe d’immich https://immich.app/docs/features/libraries...
      voir le message de Steve plus haut
      Attention avec 434 Go ça va être long en fonction de la puissance de votre syno.
      j’ai testé sur un AMD Ryzen 5 5500U (6 coeurs) avec montage nfs vers le syno, pour 13Go, 20K fichiers, cela a duré pas loin de 3 heures

  10. Merci pour ce bel article.

    Utilisateur de Synology Photos, cela fait quelque temps que je regarde Immich mais j’ai encore besoin de trier des photos…

    D’ailleurs, suite à une maj et un changement de configuration il y a quelques mois, Synology Photos iOS a re-backupé tout mon iphone dans mon espace perso. Photos que j’avais préalablement déplacé depuis l’espace privé vers l’espace partagé. Je me retrouve donc avec énormémement de doublons sur les deux espaces.

    Vu que Synology Photos ne le propose pas, il y a un outil pour analyser les deux collections et retrouver les doublons?

      1. J’avais déjà testé mais, outre la limite à 5000 fichiers, le point faible de la solution est que je ne peux pas vérifier les fichiers en cliquant dessus directement ou encore qu’une option de suppression et pas de possibilité de déplacer dans un repertoire les doublons.

        Je vais quand même re-regarder.

        Merci de la réponse

  11. Bonjour à tous, je ne suis pas super à l’aise avec Docker mais j’ai réussi à installer et à suivre tous les tutos dans les commentaires.

    J’ai aussi réussi à monter dans Immich le volume de mon répertoire historique que je ne voulais pas toucher.

    J’avoue qu’Immich est une tuerie ! Mais j’ai vite déchanté car toutes les photos sont importées et je ne peux plus ajouter de tags, de coordonnées de géolocalisation ou bien modifier des dates.

    J’espère simplement mal l’utiliser si vous avez compris mon problème, comment vous gérez vos photos ? avez vous une solution de contournement ?

    1. Bonjour à tous,

      Je serais également preneur de cette information / tuto après avoir écumé le Internet pour installer celui-ci … en vain

  12. Bien le bonjour, et top merci pour le Tuto et vos messages.
    Installation impec et ça fonctionne bien en local 😉

    Mais question : Comment vous avez accès depuis l’application IOS par exemple ? Là je rame 🙁
    Mon NAS a suivi le tuto pour les accès extérieurs en DDNS via Syno (https://www.forum-nas.fr/threads/tuto-acceder-%C3%...) mais je ne sais pas quoi indiqué au niveau de l’accès via l’application ..

    Bien à vous

  13. Hello,

    je tente d’installer immich comme sur le tuto mais j’ai ce message d’erreur :

    error response from daemon: driver failed programming external connectivity on endpoint immich_server

    quelqu’un aurait une idée ?

    merci d’avance

  14. Bonjour,

    Je débute avec docker et je me suis dit pourquoi ne pas installer immich et hop le tuto sort.

    Mais je ne comprends pas quelque chose.

    Je voudrai mettre les photos dans un répertoire photo que je crée dans le volume1, donc je suppose que ce répertoire doit apparaître quelque part. Si je regarde le yaml, cela devrait se trouver dans volumes:- ./library:/usr/src/app/upload et également dans environment: UPLOAD_LOCATION: /usr/src/app/upload, en remplaçant /usr/src/app/upload, non ?

    Mais si je mets /volume1/phpto/library à la place je n’obtiens rien dans ce répertoire et les photos sont toujours placées dans un autre répertoire.

    Qu’est ce qui est faux dans mon raisonnement ? Et que faire pour y remédier ?

  15. Hello, merci pour le tuto.
    Par contre, je vois qu’on est pas mal à bloquer sur la bibliothèque.
    Pour ma part, mes photos sont dans mon espace privé /volume1/homes/MON_USER/Photos.
    Donc impossible de donner les droits a un autre user ou groupe.

    J’ai tenté d’ajouter une bibliothèque externe avec ce lien, mais évidemment, y a un truc…
    Si quelqu un a la solution.

    Merci

  16. Un grand merci à ce tuto pour l’installation d’immich sur un NAS Synology.
    Pour en sécuriser l’accès (et permettre un accès à distance en utilisant un nom de domaine ‘mon_nas.synology.me’), je propose de compléter avec les éléments suivants :

    1. choisir le port d’exposition ‘http interne’ (visible sur le LAN), et modifier le fichier compose en conséquence :
    ports:
    – ‘xxxx:2283’
    2. créer une règle de firewall pour autoriser l’accès à ce port xxxx depuis le LAN seulement

    3. créer un reverse proxy https://localhost:yyyy... -> http://localhost:xxxx pour sécuriser l’accès au serveur immich.

    4. configurer le routeur (livebox ou autre) pour NATter le port yyyy vers le NAS et donc diriger les requêtes venant de l’extérieur vers le port yyyy.

    A ce moment, vous pouvez accéder au serveur immich à l’adresse :
    https://mon_nas.synology.me:yyyy

    En espérant que ce sera utile 🙂

  17. Hello,

    Perso je n’ai eu aucun souci à déployer le docker-compose par défaut et lier ma bibliothèque /volume3/photo à Immich. Après 3 jours à 100% de CPU l’ensemble du process de reconnaissance faciale et construction des miniatures à réussi. (Pour accéler le processus selon votre CPU il faut augmenter le nombre de taches en // dans les paramètres d’administration).

    Par contre j’ai un détail que je n’arrive pas à régler c’est la mise à jour de bibliothèque dès que je dépose une photo sur le file système. Avec Synology Photo, dès l’upload la bibliothèque immédiatement les nouveaux fichiers mais avec immich je dois attendre le traitement en arrière plan, soit à minuit par défaut… Je pense que c’est lié à https://immich.app/docs/features/libraries/#automa...
    Quelqu’un à une idée ?

  18. Bonjour, j’ai suivi le tuto et ça marche très bien.
    En revanche je me demande où sont physiquement stockées les photos ??
    Je ne les trouve pas sur mon NAS
    Merci

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.