---
- name: Setup restic backup
  docker_compose:
    project_name: restic_backup
    pull: true
    definition:
      version: '3.6'
      services:
        restic-backup:
          image: mazzolino/restic:{{ services.restic.version }}
          restart: always
          environment:
            RUN_ON_STARTUP: "true"
            BACKUP_CRON: "0 30 3 * * *"
            RESTIC_REPOSITORY: "rest:https://{{ services.restic.user }}:{{ restic_secrets.user_password }}@{{ services.restic.domain }}/{{ services.restic.repository }}"
            RESTIC_PASSWORD: "{{ restic_secrets.repository_password }}"
            RESTIC_BACKUP_SOURCES: "/mnt/volumes"
            RESTIC_BACKUP_ARGS: >-
              --tag datacoop-volumes
              --exclude='*.tmp'
              --verbose
            RESTIC_FORGET_ARGS: >-
              --keep-last 10
              --keep-daily 7
              --keep-weekly 5
              --keep-monthly 12
            TZ: Europe/Copenhagen
          volumes:
            - /docker-volumes:/mnt/volumes:ro

        restic-prune:
          image: "mazzolino/restic:{{ services.restic.version }}"
          environment:
            RUN_ON_STARTUP: "true"
            PRUNE_CRON: "0 0 4 * * *"
            RESTIC_REPOSITORY: "rest:https://{{ services.restic.user }}:{{ restic_secrets.user_password }}@{{ services.restic.domain }}/{{ services.restic.repository }}"
            RESTIC_PASSWORD: "{{ restic_secrets.repository_password }}"
            TZ: Europe/copenhagen