# 1.4 - Données critiques et arborescence

Immich utilise six dossiers principaux dans son emplacement de médias, généralement monté dans le conteneur sous `/data`.

## Arborescence

| Dossier | Contenu | Criticité |
|---|---|---|
| `upload` | originaux envoyés lorsque le modèle de stockage est désactivé | critique |
| `library` | originaux organisés lorsque le modèle de stockage est activé | critique si utilisé |
| `profile` | images de profil | critique |
| `thumbs` | miniatures et aperçus générés | régénérable |
| `encoded-video` | vidéos transcodées | régénérable |
| `backups` | sauvegardes automatiques de PostgreSQL | critique avec les médias |

Exemple Docker Compose :

```dotenv
UPLOAD_LOCATION=/srv/immich/data
DB_DATA_LOCATION=/srv/immich/postgres
```

Exemple TrueNAS adapté à ton environnement :

```text
/mnt/HDD_DATA_TRUENAS/IMMICH/data
/mnt/HDD_DATA_TRUENAS/IMMICH/pgData
```

Ces sous-dossiers sont une organisation recommandée. Vérifier l'installation existante avant de créer ou déplacer quoi que ce soit.

## La base ne contient pas les photos

PostgreSQL contient les chemins, métadonnées et relations. Une sauvegarde `.sql.gz` ne contient pas les originaux. Une restauration complète exige donc :

1. une sauvegarde PostgreSQL compatible ;
2. une copie cohérente des dossiers de médias ;
3. la configuration et les montages ;
4. les bibliothèques externes accessibles aux mêmes chemins vus par le conteneur.

## Bibliothèque externe

Une bibliothèque externe doit être montée sous un chemin distinct, par exemple :

```text
Hôte TrueNAS : /mnt/HDD_DATA_TRUENAS/PHOTOS
Conteneur     : /mnt/external-libraries/photos
```

Le chemin saisi dans l'interface Immich est celui du conteneur :

```text
/mnt/external-libraries/photos
```

## Identifier les chemins réels

Docker Compose :

```bash
grep -E '^(UPLOAD_LOCATION|DB_DATA_LOCATION|IMMICH_VERSION)=' .env
docker inspect immich_server --format '{{json .Mounts}}'
```

TrueNAS :

```bash
sudo docker inspect NOM_CONTENEUR_IMMICH --format '{{json .Mounts}}'
sudo findmnt | grep -i immich
```

Ne pas modifier directement les fichiers générés sous `/mnt/.ix-apps/app_configs/`. TrueNAS peut les recréer lors d'une mise à jour de l'application.

Références :

- `https://docs.immich.app/administration/backup-and-restore/`
- `https://docs.immich.app/install/truenas/`