| | | | | |

Installer Immich sur Ubuntu, OMV et Portainer

📝 Tutoriel complet — Installer Immich sur Ubuntu + OpenMediaVault + Portainer

Objectif : Centraliser toutes les photos et vidéos sur un NAS. Elles seront indexées et consultables sur navigateur ou smartphone, sans utiliser Google Photos ni iCloud.

Ce guide explique l’installation de A à Z. Cependant, on utilisera un partage réseau hébergé sur OMV, une VM Ubuntu 22.04 LTS et l’interface Portainer pour gérer Immich facilement.


🔥 Pourquoi Immich ?

Immich est une alternative libre et auto-hébergeable à Google Photos, permettant :

FonctionImmich
Sauvegarde automatique mobile✔ Android / iOS
Reconnaissance visages / objets✔ IA intégrée
Cartographie GPS✔ avec affichage par lieu
Stockage local ou NAS✔ SMB / NFS supporté
Accès web, multi-appareils✔ navigateur + app

Idéal pour photographes, familles, stockage longue durée, archives, etc.


📂 Architecture du setup

[VM Ubuntu]  → Docker + Portainer → Immich
    │
    ├── /mnt/omv_photos_ro  → Archives existantes (lecture seule)
    └── /mnt/omv_photos_rw  → Dossier "Imich" (nouvelles photos mobile)

[OpenMediaVault / NAS]
    └── Partage SMB : md/Mes images
          ├── Photos historiques
          └── Imich  ← Upload automatique des mobiles

📌 Avantage : Immich ne peut pas modifier/supprimer vos archives.


🧩 Pré-requis

✔ Vieux PC ou équivalent
✔ VM Ubuntu 22.04 ou Ubuntu Serveur
✔ OMV / NAS accessible en SMB
✔Docker & Portainer installé
✔ Dossier partagé existant : \\NAS\Mes images


1️⃣ Monter le partage du NAS sous Ubuntu

D’abord, on installe l’utilitaire CIFS pour gérer les partages réseau:

sudo apt update && sudo apt install -y cifs-utils

Ensuite, on crée les points de montage locaux:

sudo mkdir -p /mnt/omv_photos_ro /mnt/omv_photos_rw

Maintenant, on génère le fichier de credentials pour stocker les accès au NAS:

sudo bash -c 'cat >/etc/samba-credentials <<EOF
username=TON_UTILISATEUR
password=TON_MOTDEPASSE
EOF'

sudo chmod 600 /etc/samba-credentials

Enfin, on monte les partages (l’usage de l’IP est vivement recommandé):

sudo mount -t cifs "//192.168.x.x/Mes images" /mnt/omv_photos_ro -o credentials=/etc/samba-credentials,ro
sudo mount -t cifs "//192.168.x.x/Mes images/Imich" /mnt/omv_photos_rw -o credentials=/etc/samba-credentials,rw

Test de vérification :

sudo ls /mnt/omv_photos_ro
sudo ls /mnt/omv_photos_rw

2️⃣ Montage auto au démarrage

Pour que les dossiers soient disponibles après chaque redémarrage, on modifie le fichier /etc/fstab.

sudo nano /etc/fstab

On ajoute alors ces lignes à la fin du fichier:

//192.168.x.x/md/Mes\040images      /mnt/omv_photos_ro cifs ro,credentials=/etc/samba-credentials 0 0
//192.168.x.x/md/Mes\040images/Imich /mnt/omv_photos_rw cifs rw,credentials=/etc/samba-credentials 0 0

Pour finir, on applique la configuration sans redémarrer:

sudo mount -a

3️⃣ Installation d’Immich via Portainer

D’abord, on prépare le dossier pour la base de données PostgreSQL:

sudo mkdir -p /srv/immich/postgres

Ensuite, dans Portainer (Stacks → Add Stack), on colle la configuration suivante:

version: "3.9"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:v2
    restart: always
    ports:
      - "2283:2283"
    environment:
      - DB_PASSWORD=ChangeMe12345
      - DB_USERNAME=postgres
      - DB_DATABASE_NAME=immich
      - TZ=Europe/Luxembourg
    depends_on:
      - redis
      - database
    volumes:
      - /mnt/omv_photos_rw:/data
      - /mnt/omv_photos_ro:/mnt/archives:ro
      - /etc/localtime:/etc/localtime:ro

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:v2
    restart: always
    environment:
      - DB_PASSWORD=ChangeMe12345
      - DB_USERNAME=postgres
      - DB_DATABASE_NAME=immich
      - TZ=Europe/Luxembourg
    volumes:
      - model-cache:/cache

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:9
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
    restart: always
    environment:
      - POSTGRES_PASSWORD=ChangeMe12345
      - POSTGRES_USER=postgres
      - POSTGRES_DB=immich
      - POSTGRES_INITDB_ARGS=--data-checksums
    volumes:
      - /srv/immich/postgres:/var/lib/postgresql/data

volumes:
  model-cache:

💥 On déploie la stack. L’interface est désormais accessible sur http://ip-serveur:2283


4️⃣ Configuration d’Immich

Créer la bibliothèque externe

  1. Admin → Bibliothèques externes → Ajouter
  2. Chemin : /mnt/archives
  3. Cliquez Analyser / Scan library

Ajouter l’accès utilisateur

  1. Bibliothèque → Membres → Ajouter utilisateur
  2. Les photos historiques s’affichent alors sur l’écran. 🎉

📱 Sauvegarde mobile automatique

  1. On installe l’application Immich sur Android/iOS.
  2. On ouvre l’app et on se connecte.
  3. On active le Backup auto : ON.
  4. On définit la destination sur Upload Library (/data).

Désormais, chaque photo prise est envoyée directement sur le NAS dans le dossier /Immich.


📌 Troubleshooting / FAQ (important)

Immich videExternal library non créée → ajouter /mnt/archives
Photos non visiblesL’utilisateur doit être ajouté à la bibliothèque
CIFS pas montétester sudo mount -a + vérifier mot de passe SMB
Nom NAS ne fonctionne pasUtiliser l’IP : //192.168.x.x

Laisser un commentaire