# 9.1 - Inventaire et plan de migration

Une migration réussie commence par un inventaire. Ne pas arrêter ou supprimer la source tant que la destination et la restauration ne sont pas validées.

## Informations à relever

| Élément | Exemple |
|---|---|
| Version Immich source | `v2.7.5` |
| Type de déploiement | VM Proxmox avec Docker Compose |
| Version PostgreSQL | valeur du conteneur |
| Extension vectorielle | pgvecto.rs ou VectorChord |
| Emplacement des médias | `UPLOAD_LOCATION` |
| Emplacement PostgreSQL | `DB_DATA_LOCATION` |
| Bibliothèques externes | chemins hôte et conteneur |
| Domaine | `immich.dreamsaphir.net` |
| OIDC | `auth.dreamsaphir.net` |
| Destination | TrueNAS et dataset Immich |

## Commandes source

```bash
cd /chemin/compose/immich
docker compose ps
docker compose images
docker exec immich_server immich-admin version
docker exec immich_server immich-admin schema-check
grep -E '^(UPLOAD_LOCATION|DB_DATA_LOCATION|IMMICH_VERSION|DB_USERNAME|DB_DATABASE_NAME)=' .env
docker inspect immich_server --format '{{range .Mounts}}{{println .Source "->" .Destination}}{{end}}'
```

Ne pas afficher `DB_PASSWORD` dans le rapport.

## Taille et fichiers

```bash
df -hT
du -sh CHEMIN_MEDIA
find CHEMIN_MEDIA -type f | wc -l
```

Pour les bibliothèques externes :

```bash
du -sh CHEMIN_BIBLIOTHEQUE_EXTERNE
find CHEMIN_BIBLIOTHEQUE_EXTERNE -type f | wc -l
```

## Version de PostgreSQL et extensions

```bash
docker exec immich_postgres psql -U postgres -d immich -c 'select version();'
docker exec immich_postgres psql -U postgres -d immich -c '\dx'
```

Adapter conteneur, utilisateur et base.

## Choisir la stratégie de version

Stratégie conservatrice :

1. restaurer avec la même version Immich que la source ;
2. vérifier le contenu ;
3. sauvegarder à nouveau ;
4. effectuer la montée de version.

Stratégie directe : restaurer le dump dans la version cible et laisser Immich appliquer les migrations. Elle est plus rapide mais ajoute des changements simultanés.

Pour une source v2.7.5 et une cible v3.1.0, la stratégie conservatrice facilite le diagnostic.

## Critères de succès

- nombre d'actifs cohérent ;
- albums et partages présents ;
- utilisateurs accessibles ;
- originaux ouvrables ;
- bibliothèques externes scannables ;
- OAuth Web et mobile fonctionnel ;
- jobs sans erreur critique ;
- dump de la nouvelle instance validé.