services:
  backup:
    image: mazzolino/restic:1.7.2
    hostname: docker
    restart: unless-stopped
    environment:
      RUN_ON_STARTUP: "false"
      BACKUP_CRON: "0 30 2 * * *"
      RESTIC_REPOSITORY: ${RESTIC_BASE_URL}/compute-1-mep
      RESTIC_PASSWORD: ${RESTIC_PASSWORD}
      RESTIC_BACKUP_SOURCES: >-
        /mnt/volumes/forgejo_server/
        /mnt/volumes/freshrss_freshrss_data/
        /mnt/volumes/haste_hastes/
        /mnt/volumes/searx_server/
        /mnt/volumes/wallabag_wallabag/
      RESTIC_BACKUP_ARGS: >-
        --tag plan:dockervol_dump --tag created-by:compute_1_mep
        --exclude *.tmp --exclude *.log --exclude *.bak
        --exclude /mnt/volumes/forgejo_server/_data/gitea/repositories
        --verbose
      RESTIC_FORGET_ARGS: >-
        --keep-last 4
        --keep-daily 2
        --keep-weekly 1
        --keep-monthly 1
      TZ: Europe/Paris
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/mnt/volumes:ro
      - ./ssh:/run/secrets/.ssh:ro

  prune:
    image: mazzolino/restic:1.7.2
    hostname: docker
    restart: unless-stopped
    environment:
      SKIP_INIT: "true"
      RUN_ON_STARTUP: "false"
      PRUNE_CRON: "0 30 5 * * *"
      RESTIC_REPOSITORY: ${RESTIC_BASE_URL}/compute-1-mep
      RESTIC_PASSWORD: ${RESTIC_PASSWORD}
      TZ: Europe/Paris
    volumes:
      - ./ssh:/run/secrets/.ssh:ro