# 8.4 - Copie distante vers Proxmox et validation

Ton environnement utilise déjà une liaison SSH de TrueNAS vers Proxmox. Elle peut transporter une copie supplémentaire des données Immich.

## Préparer la destination

Sur Proxmox :

```bash
sudo mkdir -p /srv/backups/immich
sudo chown UTILISATEUR_BACKUP:UTILISATEUR_BACKUP /srv/backups/immich
```

Restreindre la clé SSH au compte et à l'usage de sauvegarde si possible.

## Simulation rsync

Depuis TrueNAS :

```bash
rsync -aHn --numeric-ids --info=progress2 \
  /mnt/HDD_DATA_TRUENAS/IMMICH/data/ \
  UTILISATEUR_BACKUP@ADRESSE_PROXMOX:/srv/backups/immich/data/
```

Après vérification :

```bash
rsync -aH --numeric-ids --info=progress2 \
  /mnt/HDD_DATA_TRUENAS/IMMICH/data/ \
  UTILISATEUR_BACKUP@ADRESSE_PROXMOX:/srv/backups/immich/data/
```

Ne pas ajouter `--delete` tant qu'une politique de miroir et de rétention séparée n'est pas en place.

## Base PostgreSQL

Créer le dump avant rsync afin que le dossier `backups` contienne une version récente et cohérente.

## Borg

Immich fournit un modèle Borg qui sauvegarde la base et les médias avec déduplication et rétention. Borg peut réduire l'espace par rapport à des copies complètes répétées. Il demande cependant une configuration, une clé et des tests de restauration.

## Contrôles de destination

```bash
ssh UTILISATEUR_BACKUP@ADRESSE_PROXMOX \
  'du -sh /srv/backups/immich/data; find /srv/backups/immich/data -type f | wc -l'
```

Comparer quelques sommes :

```bash
sha256sum /mnt/HDD_DATA_TRUENAS/IMMICH/data/backups/FICHIER.sql.gz
ssh UTILISATEUR_BACKUP@ADRESSE_PROXMOX \
  'sha256sum /srv/backups/immich/data/backups/FICHIER.sql.gz'
```

## Script fourni

Le pack contient :

```bash
./scripts/sauvegarde_immich_docker.sh
```

Il crée un dump logique puis copie les médias sans suppression vers un dossier de sauvegarde. Lire et configurer ses variables avant exécution.

## Test trimestriel conseillé

1. choisir une sauvegarde ;
2. la restaurer sur un réseau isolé ;
3. vérifier plusieurs originaux ;
4. ouvrir des albums ;
5. tester un compte ;
6. vérifier les bibliothèques externes ;
7. documenter la durée et les problèmes.

Référence Borg : `https://docs.immich.app/guides/template-backup-script/`