Skip to main content

9.2 - Préparer et exporter le serveur source

Première copie sans interruption

Créer une destination de préparation et copier les médias pendant que la source fonctionne :

rsync -aHn --numeric-ids --info=progress2 \
  CHEMIN_MEDIA_SOURCE/ \
  UTILISATEUR@DESTINATION:/chemin/immich-data/

Après vérification :

rsync -aH --numeric-ids --info=progress2 \
  CHEMIN_MEDIA_SOURCE/ \
  UTILISATEUR@DESTINATION:/chemin/immich-data/

Ne pas utiliser --delete pour cette première migration.

Créer un dump de test

mkdir -p /srv/export-immich

docker exec -t immich_postgres \
  pg_dump --clean --if-exists --dbname=immich --username=postgres \
  | gzip > /srv/export-immich/immich-test.sql.gz

gzip -t /srv/export-immich/immich-test.sql.gz

Fenêtre de bascule

  1. annoncer l'interruption ;
  2. terminer les uploads mobiles ;
  3. attendre les tâches indispensables ;
  4. activer la maintenance ou arrêter le serveur ;
  5. créer le dump final ;
  6. faire un rsync final ;
  7. relever les sommes et tailles ;
  8. garder la source intacte.

Dump final

docker exec -it immich_server immich-admin enable-maintenance-mode

docker exec -t immich_postgres \
  pg_dump --clean --if-exists --dbname=immich --username=postgres \
  | gzip > /srv/export-immich/immich-final.sql.gz

gzip -t /srv/export-immich/immich-final.sql.gz
sha256sum /srv/export-immich/immich-final.sql.gz \
  > /srv/export-immich/immich-final.sql.gz.sha256

Si la maintenance n'est pas disponible sur la version source, arrêter le service serveur tout en gardant PostgreSQL disponible, ou planifier une courte interruption complète après le dump.

Copie finale des médias

rsync -aH --numeric-ids --info=progress2 \
  CHEMIN_MEDIA_SOURCE/ \
  UTILISATEUR@DESTINATION:/chemin/immich-data/

Copier aussi le dump, les fichiers Compose et une version expurgée de l'inventaire. Conserver .env dans un canal sécurisé.

Bibliothèques externes

Deux choix :

  • conserver les fichiers au même emplacement réseau et monter le même chemin interne ;
  • copier la bibliothèque vers TrueNAS et conserver le même chemin vu par le conteneur.

Le second choix nécessite une vérification des nombres de fichiers et de quelques sommes.