Ansible Role to Deploy Sanoid/Syncoid

Hello everyone,

Been spending a lot of time as of late building out my infrastructure with Ansible and decided there needed to be an automated way of deploying sanoid/syncoid and configuring my templates and backups to keep my ZFS-backed Proxmox homelab humming.

There is a lot more info on the GitHub but the gist of what it takes to deploy is in the snippet below. Get the role with ansible-galaxy install gikeymarcia.neovim then start configuring your snapshotting nirvana.

- name: Setup sanoid to auto-snapshot your datasets
  hosts: all
  become: true

  roles:
    - role: gikeymarcia.sanoid
      vars:
        sanoid_backup_modules:
          - name: tank/vms
            template: vm_live
            recursive: 'yes'
            process_children_only: 'yes'
          - name: tank/media
            template: media
            recursive: 'yes'
        sanoid_templates:
          - name: vm_live
            hourly: 48
            daily: 5
            autosnap: "yes"
            autoprune: "yes"
          - name: media
            hourly: 6
            daily: 3
            weekly: 2
            monthly: 3
            yearly: 1
            autosnap: "yes"
            autoprune: "yes"

PRs and questions are appreciated. Not all the dials and options are yet incorporated but for now it is surprisingly effective and easy to use.

Thank you Jim Salter for the amazing tool and for making this community.

4 Likes

Thank you for sharing your work!