Immich - Le cloud photos privé

Je connais la méthode depuis Container Manager (DSM 7.2.2) si tu veux. J’ai suivi le tuto répandu de passer par un Projet.

Il faut renseigner dans le docker-compose.yaml ton dossier.

Tu le retrouveras ensuite dans les paramètres (Administration/Bibliothèques Externes/Créer une bibliothèque, etc…)

Je viens justement de me mettre sur Immich depuis quelques jours seulement. Venant, de Synology Photos, mes photos sont logiquement sur /volume1/photo. J’ai rajouté un :ro afin de ne pas avoir cette déconvenue que Immich touche à mes photos.

Attention cependant, ça fait maintenant plusieurs jours que mon Syno (918+) turbine à 99% de CPU en raison du traitement des vignettes, conversion des vidéos, analyse des visages, etc…

Tu peux mettre en pause tout ça dans les menus. Perso j’ai préféré laisser faire (plus vite commencé, plus vite terminé)

Merci @Quintus , ton aide est très utile, d’autant que j’ai le même matériel que toi !

Je crois comprendre que ton dossier /photo initial va être dupliquer (ou juste mappé?) dans /mnt/media/Photos du conteneur Immich c’est bien ça ?
Grosse perte de place si c’est le cas, malgré une relative redondance, ou alors j’ai pas compris le principe de Immich, ce qui reste encore le plus probable à mon avis.

Bon je vais tenter on verra bien.
Mais avant j’ai envie de faire un miroir de mes photos dans un autre dossier qui en contient déjà une bonne partie, au cas où, et je ne sais pas trop comment m’y prendre sans passer par un PC, je ne maîtrise pas trop Rsync, et une co**erie est vite arrivée !

Merci beaucoup,

Oh non t’inquiète, c’est juste mappé et non dupliqué :+1:t2:

Je n’ai pas eu de problème sur mes fichiers originaux. Tout devrait bien se passer

Tu risques d’attendre très longtemps

Pour mon cas j’avais dupliqué une partie de ma bibliothèque afin de pouvoir jouer comme il faut mais pas sur mes photos d’origine (un backup sur un second NAS)

Edit :
Installation faite hier soir en mode pas du tout production mais je teste avec stockage en local sur le disque local et bien le sujet à bien changé !
L’application téléphone aussi
c’est 1000 fois plus simple qu’avant
reste à monter un partage avec mon NAS et faire le test sur un choix de photos pour voir le comportement mais c’est pas mal du tout dans la version du moment versus à il y a 1 an environ

Hello, je recherche justement une solution similaire ! Toujours le meilleure choix Immich ?
Par rapport à :
PhotoPrism
LibrePhotos
PiGallery 2
ChatGPT m’as conseillé ces 4 avec en 4éme Immich.
Merci.

Salut,

Après une année complète d’utilisation je n’ai jamais eu de vrais soucis.
L’app andoird et la version web sont toujours très bien.

Difficile de comparer, photoprism ne semble tjrs pas avoir d’app mobile et de synchro intégrée… Les 2 autres paraissent avoir des fonctionnalités en moins aussi… basé sur le comparo qu j’avais déjà partagé:

1 « J'aime »

Salut :wave:t2:
Cette discussion m’intéresse beaucoup.
J’utilise actuellement Synology Photos, qui semblent bien fonctionner : reconnaissance des visages , permissions etc … mais c’est un veau… et comme je sais qu’un jour je n’utiliserais plus de NAS Synology…

J’ai essayé d’utiliser Immich que je trouve bien plus réactif et agréable d’utilisation.
Mais je lui trouve plusieurs énormes défauts.

  1. L’installation n’est pas des plus aisées via docker pour avoir quelque chose de fonctionnel.
  2. La gestion des permissions est trop lacunaire : l’administrateur ne peut pas supprimer des photos des autres utilisateurs… gros souci pour moi vu que je fais le tri ponctuellement des photos de mon épouse.
  3. La reconnaissance des visages, bien que super fonctionnelle, n’est pas partagée entre les différents comptes. Là aussi c’est pas possible pour moi… je ne vais pas passer double de temps pour les noms des personnes… voir plus si j’ai un autre compte utilisateur…

Avez vous constaté ces mêmes problèmes ?
Avez-vous réussi à passer outre ou à les contourner ?
J’ai envisagé de ne passer que par un seul compte mais c’est quand même pas terrible…

Bonjour, comment utiliser Immich depuis l’extérieur ? Enfin surtout avec son téléphone, si possible sans utiliser de VPN ! Merci.

Utiliser un reverse proxy genre nginx proxy manager, traefik, caddy ….

Afin d’exposer un ou des services web de façon sécurisé

1 « J'aime »

Salut,

moi je suis avec Nginx Proxy Manager comme reverse proxy avec Crowdsec.

Ca marche directement, il y a quelques configs à prévoir si tu as une protection active, comme un wap ou crowdsec justement, car Immich peut générer plein de petites requêtes sur toutes les photos qu’il affiche, donc peut être pris comme un risque et bloqué.

1 « J'aime »

Salut tout le monde,

J’avais mis en favori ce post il y quelque temps, et ça y est j’ai sauté le pas.

Sur mon installation, mes photos sont stockées sur mon NAS Synology dans le dossier photo, sous l’architecture comme dans cet exemple : photo/2025/09-Septembre/nom_de_la_photo.extention_de_la_photo

Mon NAS ne permet pas de faire tourner docker, c’est un modèle d’entrée de gamme et qui commence à dater maintenant (DS218J). Du coup, j’ai installé Immich sur mon serveur Proxmox dans une VM Debian via docker.
J’ai configuré mon dossier photo en librairie externe via un partage NFS, tout est OK jusque-là, j’ai bien les photos de mon NAS qui apparaissent dans Immich.

Maintenant, j’aimerais ajouter de nouvelles photos.

En utilisant l’import de Immich, il les place dans le dossier du docker UPLOAD_LOCATION/library/admin/2022/2022-02-03/IMAGE_56437.jpg.

Sauf que je veux que mes photos soient stockées sur mon NAS (et pas dans mon docker) pour profiter du volume disponible, réplication et backup.

Il faudrait que j’arrive à changer le répertoire de base et ne pas mettre ma librairie en externe, mais j’avais des erreurs (voir en bas de mon message).

voici ma configuration actuelle (avec du coup la librairie en externe):
volumes:

volumes:
  # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
  - ${UPLOAD_LOCATION}:/data
  - immich_photo-media:/mnt/photos1:ro
  - /etc/localtime:/etc/localtime:ro

et pour les variables d’environnements :
DB_DATA_LOCATION=./postgres
IMMICH_VERSION=release
DB_PASSWORD=postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
UPLOAD_LOCATION=./library

Voici l’erreur que j’ai si j’essai de mettre la librairie directement dans mon dossier photo actuel (à la place d’utiliser la lib externe) :

Initializing Immich v1.142.1

skipping libmimalloc - path not found /usr/lib/x86_64-linux-gnu/libmimalloc.so.2

Detected CPU Cores: 2

Starting api worker

Starting microservices worker

[Nest] 6  - 09/18/2025, 8:09:07 PM     LOG [Microservices:EventRepository] Initialized websocket server

[Nest] 6  - 09/18/2025, 8:09:08 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 20556 rows

[Nest] 6  - 09/18/2025, 8:09:08 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 26220 rows

[Nest] 6  - 09/18/2025, 8:09:08 PM     LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}

[Nest] 6  - 09/18/2025, 8:09:08 PM   ERROR [Microservices:StorageService] Failed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data/encoded-video/.immich'

microservices worker error: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information.", stack: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://immich.app/docs/administration/system-integrity#folder-checks for more information."

    at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:129:19)

    at async /usr/src/app/server/dist/services/storage.service.js:56:21

    at async /usr/src/app/server/dist/repositories/database.repository.js:379:27

    at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/kysely.js:535:20

    at async DefaultConnectionProvider.provideConnection (/usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/driver/default-connection-provider.js:12:20)

    at async /usr/src/app/server/dist/repositories/database.repository.js:376:13

microservices worker exited with code 1

Killing api process

Je penses que c’est une histoire de droit, mais je ne sais pas trop comment régler le soucis

Merci d’avance

J’ai une configuration similaire à la tienne : mes photos sont stockées sur un NAS. Cependant, j’utilise Immich dans un conteneur LXC. Pour résoudre le problème d’accès aux fichiers, voici la solution que j’ai mise en place :

  1. J’ai créé un conteneur LXC privilégié (afin d’activer l’accélération de immich-ML) et activé l’option NFS.

  2. Sur Proxmox, j’ai monté un lecteur réseau qui pointe vers le dossier souhaité de mon NAS.

  3. Enfin, j’ai ajouté ce point de montage dans mon conteneur LXC.

  4. Si tu actives l’accélération hardware, n’oublie pas de rajouter ta carte graphique dans les options du conteneur.

J’avais auparavant tenté la méthode proposée dans ce lien, mais sans succès : External Library - Permissions Denied on NFS shares, and mkdir on existing folders · immich-app/immich · Discussion #9977 · GitHub

Merci de ta réponse.

J’ai réussi à avancer un peu, il m’a fallu créer les dossiers et les .immich manquant à la main, je l’ai fait par l’explorateur Windows.

Donc maintenant immich démarre bien, il est bien connecté sur mon lecteur réseau en NFS.

Coté GPU c’est tout ok, j’ai un GPU intégré qui est en passtrough sur ma VM que j’utilise deja pour d’autres service (Jellyfin et Frigate)

Maintenant il faut que je trouve comment lui faire détecter mes photos qui sont déjà présente, car à priori il ne les vois pas .Faut il les mettre dans un dossier spécifique pour qu’il les voit automatiquement, ou faut-il lui indiquer en librairie externe même si c’est la même racine que le chemin de UPLOAD_LOCATION ?

Edit, à priori ça fonctionne comme ceci :

En faisant comme ça, j’ai pu ajouter ma librairie actuelle en tant que librairie externe, chose que je ne pouvais pas faire si je ne mettais que la ligne ${UPLOAD_LOCATION}:/data.
j’ai donc ajouté à Immich en librairie externe /photo-media et c’est bon

Une fois que tu as rajouté le chemin de ton dossier dans ton docker, il faut le rajouter dans la config de immich.
Tu peux à partir du menu “administration” : External Library | Immich

Oui c’est ce que j’ai fini par faire, je pensais que vu que mes photos étaient à la même racine que mon dossier /data, il allait me les trouver en automatique, mais en fait non à priori.
C’est en train de se synchroniser là :smiling_face:

1 « J'aime »

Salut,

Juste un petit retour par rapport à ce que j’ai dit, si vous êtes comme moi et que vous voulez mettre la librairie externe dans le même dossier racine qu’Immich, il faut bien la mettre dans un sous-dossier et pas directement à la racine. Sinon, chaque nuit il va ajouter les vignettes qu’il a créé en tant que nouvelles photos et vous allez doubler chaque nuit le volume de photos :sweat_smile: .

dans le docker compose, les volumes sont montés comme ceci :

Les variables d’environnements associées :
image

Les volumes NFS :

Architecture des dossiers dans Windows :

Comme je suis en test par rapport à Synology Photo j’avais fait 2 points de montage :

  • Un pour la bibliothèque photos ancestrales utilisées par synology et Immich en tant que bibliothèque externe

  • Un pour le dossier de travail d’Immich ce qui impose à un moment un tri et une bascule des photos dans la bibliothèque externe principale

1 « J'aime »

Salut, Je suis en train d’étudier ce soft, …

Peut tu décrire ton workflow pour basculer un/des albums dans la bibliothèque externe ?

Alors je ne bascule pas spécifiquement l’album en lui même mais les photos.

Sur les photos prises et synchronisées je les rassemble dans un répertoire que je renomme souvent « 2025 - nom de l’évènement » et c’est ce répertoire que je bascule afin de le mettre à disposition de ma bibliothèque externe.
Et cette bibliothèque externe est ensuite synchronisée sur un autre NAS depuis des années

Ok merci, pour info, tu appliquer le nommage directement dans immich, voici par exemple comment je fait :

{{#if album}}{{album-startDate-y}} {{album-startDate-MM}} {{album-startDate-dd}} {{album}}{{else}}{{y}} {{MM}}{{/if}}/{{y}}-{{MM}}-{{dd}}–{{HH}}.{{mm}}.{{ss}}