Astroport.ONE/_DOCKER
fred 9e5d7cede8 recommended selected docker 2024-06-18 13:45:00 +02:00
..
duniter.1.9-dev Docker Selection 2024-05-15 00:38:04 +02:00
ginkgo N1GPU G1PalPay remote command by paying it 2024-05-26 21:39:42 +02:00
home-assistant Docker Selection 2024-05-15 00:38:04 +02:00
ipfs Docker Selection 2024-05-15 00:38:04 +02:00
minetest Docker Selection 2024-05-15 00:38:04 +02:00
nextcloud Docker Selection 2024-05-15 00:38:04 +02:00
nginx-proxy-manager Docker Selection 2024-05-15 00:38:04 +02:00
Readme.md recommended selected docker 2024-06-18 13:45:00 +02:00
docker-compose.duniter1.8.7.yml Docker Selection 2024-05-15 00:38:04 +02:00
docker-compose.duniter1.8_wotwizard.yml Docker Selection 2024-05-15 00:38:04 +02:00

Readme.md

Pour automatiser la création quotidienne de snapshots de votre répertoire Docker et les sauvegarder sur IPFS, vous pouvez suivre les étapes suivantes. Cette procédure utilise un script Bash et un cron job pour automatiser le processus.

Étapes pour Automatiser les Snapshots et Sauvegardes sur IPFS

  1. Installer les Outils Nécessaires:

    • Assurez-vous que btrfs-progs et ipfs sont installés sur votre système.
    • Installez IPFS en suivant les instructions sur le site officiel ou via votre gestionnaire de paquets.
  2. Configurer IPFS:

    • Initialisez IPFS si ce n'est pas déjà fait :
      ipfs init
      
    • Démarrez le démon IPFS :
      ipfs daemon &
      
  3. Créer un Script Bash pour les Snapshots et Sauvegardes:

    • Créez un script Bash, par exemple /usr/local/bin/docker_snapshot_backup.sh :

      sudo nano /usr/local/bin/docker_snapshot_backup.sh
      
    • Ajoutez le contenu suivant au script :

      #!/bin/bash
      
      # Variables
      SNAPSHOT_DIR="/var/lib/docker"
      BACKUP_DIR="/var/lib/docker_snapshots"
      TIMESTAMP=$(date +"%Y%m%d%H%M%S")
      SNAPSHOT_NAME="snapshot_$TIMESTAMP"
      IPFS_LOG="/var/log/ipfs_backup.log"
      
      # Créer un snapshot en lecture seule
      sudo btrfs subvolume snapshot -r $SNAPSHOT_DIR $BACKUP_DIR/$SNAPSHOT_NAME
      
      # Ajouter le snapshot à IPFS
      IPFS_HASH=$(ipfs add -r -q $BACKUP_DIR/$SNAPSHOT_NAME | tail -n1)
      
      # Enregistrer le hash IPFS avec un timestamp
      echo "$TIMESTAMP $IPFS_HASH" >> $IPFS_LOG
      
      # Optionnel: Nettoyer les anciens snapshots (conserver les 7 derniers)
      cd $BACKUP_DIR
      ls -t | sed -e '1,7d' | xargs -d '\n' rm -rf
      
    • Rendez le script exécutable :

      sudo chmod +x /usr/local/bin/docker_snapshot_backup.sh
      
  4. Configurer un Cron Job pour Exécuter le Script Quotidiennement:

    • Éditez la crontab pour ajouter une tâche planifiée :
      sudo crontab -e
      
    • Ajoutez la ligne suivante pour exécuter le script tous les jours à minuit :
      0 0 * * * /usr/local/bin/docker_snapshot_backup.sh
      

Explication du Script

  • Variables:

    • SNAPSHOT_DIR : Répertoire Docker à snapshotter.
    • BACKUP_DIR : Répertoire où les snapshots seront stockés.
    • TIMESTAMP : Horodatage pour nommer les snapshots.
    • IPFS_LOG : Fichier de log pour enregistrer les hashes IPFS.
  • Création du Snapshot:

    • La commande btrfs subvolume snapshot -r crée un snapshot en lecture seule du répertoire Docker.
  • Ajout à IPFS:

    • La commande ipfs add -r -q ajoute le snapshot à IPFS et récupère le hash.
  • Enregistrement du Hash:

    • Le hash IPFS est enregistré avec un timestamp dans un fichier de log.
  • Nettoyage des Anciens Snapshots:

    • Les anciens snapshots sont supprimés, ne conservant que les 7 plus récents.

Conclusion

En suivant cette procédure, vous pouvez automatiser la création quotidienne de snapshots de votre répertoire Docker et les sauvegarder sur IPFS. Le script Bash et le cron job assurent que le processus est exécuté régulièrement sans intervention manuelle, garantissant ainsi la redondance et la sécurité de vos données[1][2][4][5].

Citations: [1] https://docs.ipfs.tech/case-studies/snapshot/ [2] https://docs.ipfs.tech/how-to/take-snapshot/ [3] https://www.youtube.com/watch?v=EvRtHOxYPnA [4] https://coinacademy.fr/academie/ipfs-crypto/ [5] https://blog.ineat-conseil.fr/2022/09/ipfs-le-protocole-qui-decentralise-vos-fichiers/