Skip to main content

3.1 - Concevoir les datasets Immich

Organisation recommandée

Pour TrueNAS Community Edition, Immich utilise au minimum deux zones de stockage :

Dataset Rôle Stockage conseillé
data médias et sauvegardes automatiques pool de grande capacité
pgData base PostgreSQL SSD si possible

Exemple adapté à ton pool :

/mnt/HDD_DATA_TRUENAS/IMMICH/data
/mnt/HDD_DATA_TRUENAS/IMMICH/pgData

Il est possible de créer un parent IMMICH, puis les deux datasets enfants. Ne pas transformer un dossier existant contenant des données en dataset sans plan de copie et sauvegarde préalable.

Création dans l'interface

  1. Ouvrir Datasets.
  2. Sélectionner le pool.
  3. Créer le parent IMMICH avec le preset Generic.
  4. Créer data avec le preset Apps.
  5. Créer pgData avec le preset Generic.
  6. Vérifier les chemins complets.

Le preset Apps prépare normalement les permissions pour l'utilisateur apps.

Propriétaires attendus

  • data doit être modifiable par l'utilisateur qui exécute Immich, par défaut apps UID 568 et GID 568.
  • pgData doit appartenir à l'utilisateur utilisé par PostgreSQL. La documentation TrueNAS actuelle indique netdata UID 999 pour le dataset PostgreSQL de l'application.

Ces valeurs peuvent évoluer avec le catalogue. Vérifier l'écran d'installation et les conteneurs avant de changer un propriétaire.

Contrôles depuis le shell

sudo ls -ldn /mnt/HDD_DATA_TRUENAS/IMMICH
sudo ls -ldn /mnt/HDD_DATA_TRUENAS/IMMICH/data
sudo ls -ldn /mnt/HDD_DATA_TRUENAS/IMMICH/pgData
sudo zfs list | grep -i immich

Datasets supplémentaires

Immich utilise :

library
upload
thumbs
profile
encoded-video
backups

Il est possible de créer un dataset pour certains dossiers, par exemple les miniatures sur SSD. Chaque dataset supplémentaire augmente toutefois la complexité des montages, permissions, snapshots et sauvegardes.

Propriétés ZFS

Recommandations générales à adapter :

  • compression ZFS activée ;
  • snapshots réguliers ;
  • pas de déduplication ZFS sans besoin démontré ;
  • quotas uniquement avec une marge suffisante ;
  • PostgreSQL sur un stockage à faible latence.

Ne pas modifier au hasard recordsize, sync ou d'autres propriétés de fiabilité. Mesurer et comprendre l'impact avant tout réglage avancé.

Référence : https://docs.immich.app/install/truenas/