# vim: ft=yaml.docker-compose
version: "3.8"

services:
  backup:
    image: mazzolino/restic:{{ services.restic.version }}
    restart: always
    environment:
      RUN_ON_STARTUP: false
      BACKUP_CRON: "0 30 3 * * *"
      RESTIC_REPOSITORY: sftp:{{ services.restic.user }}@{{ 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:
      - "./ssh:/run/secrets/.ssh:ro"
      - "/docker-volumes:/mnt/volumes:ro"

  prune:
    image: mazzolino/restic:{{ services.restic.version }}
    environment:
      RUN_ON_STARTUP: false
      PRUNE_CRON: "0 30 4 * * *"
      RESTIC_REPOSITORY: sftp:{{ services.restic.user }}@{{ services.restic.domain }}:{{ services.restic.repository }}
      RESTIC_PASSWORD: "{{ restic_secrets.repository_password }}"
      TZ: Europe/copenhagen
    volumes:
      - "./ssh:/run/secrets/.ssh:ro"