---
- name: Setup crontab
  hosts: servers
  gather_facts: false
  tasks:
    - name: Cron - Docker system prune
      ansible.builtin.cron:
        name: docker system prune
        minute: 0
        hour: 4
        weekday: SUN
        job: /mnt/data/bin/healthcheck docker-system-prune /mnt/data/bin/docker-system-prune
    - name: Cron - Clean old backups
      ansible.builtin.cron:
        name: clean old backups
        minute: 55
        hour: 4
        job: /mnt/data/bin/healthcheck clean-old-backups /mnt/data/bin/clean-old-backups
    - name: Cron - Nextcloud cron
      ansible.builtin.cron:
        name: Nextcloud cron
        minute: "*/5"
        job: /mnt/data/bin/healthcheck nextcloud-cron /mnt/data/bin/nextcloud-cron
        disabled: true
    - name: Cron - Nextcloud preview
      ansible.builtin.cron:
        name: Nextcloud preview
        minute: "*/7"
        job: /mnt/data/bin/healthcheck nextcloud-preview /mnt/data/bin/nextcloud-preview
        disabled: true
    - name: Cron - Nextcloud update apps
      ansible.builtin.cron:
        name: Nextcloud update apps
        special_time: daily
        job: /mnt/data/bin/healthcheck nextcloud-auto-update /mnt/data/bin/nextcloud-auto-update
        disabled: true
    - name: Cron - Dump manuels
      ansible.builtin.cron:
        name: Dump manuels
        minute: 45
        job: /mnt/data/bin/healthcheck dump-manuels /mnt/data/bin/dump-manuels
    - name: Cron - Dump paperless
      ansible.builtin.cron:
        name: Dump paperless
        minute: 47
        job: /mnt/data/bin/healthcheck dump-paperless /mnt/data/bin/dump-paperless
    - name: Cron - Dump miniflux
      ansible.builtin.cron:
        name: Dump miniflux
        minute: 50
        job: /mnt/data/bin/healthcheck dump-miniflux /mnt/data/bin/dump-miniflux
    - name: Cron - Dump nextcloud
      ansible.builtin.cron:
        name: Dump nextcloud
        minute: 52
        job: /mnt/data/bin/healthcheck dump-nextcloud /mnt/data/bin/dump-nextcloud
        disabled: true
    - name: Cron - Dump voyages.coccomagnard.fr
      ansible.builtin.cron:
        name: Dump voyages.coccomagnard.fr
        minute: 55
        job: /mnt/data/bin/healthcheck dump-voyages-coccomagnard-fr /mnt/data/bin/dump-voyages.coccomagnard.fr
    - name: Cron - Dump gabnotes.org
      ansible.builtin.cron:
        name: Dump gabnotes.org
        minute: 56
        job: /mnt/data/bin/healthcheck dump-gabnotes-org /mnt/data/bin/dump-gabnotes.org
    - name: Cron - Dump voyages-lois.augendre.info
      ansible.builtin.cron:
        name: Dump voyages-lois.augendre.info
        minute: 57
        job: /mnt/data/bin/healthcheck dump-voyages-lois-augendre-info /mnt/data/bin/dump-voyages-lois.augendre.info
    - name: Cron - Download Freebox invoice
      ansible.builtin.cron:
        name: Download Freebox invoice
        minute: 0
        hour: 13
        day: 5
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-freebox
    - name: Cron - Download Free Mobile invoice
      ansible.builtin.cron:
        name: Download Free Mobile invoice
        minute: 0
        hour: 13
        day: 2
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-free-mobile
    - name: Cron - Download Eau du Grand Lyon invoice
      ansible.builtin.cron:
        name: Download Eau du Grand Lyon invoice
        minute: 0
        hour: 13
        day: 10
        month: "6,12"
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-eau-du-grand-lyon
    - name: Cron - Download Shiva payslip
      ansible.builtin.cron:
        name: Download Shiva payslip
        minute: 0
        hour: 13
        day: 10
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-shiva
    - name: Cron - Download LCL bank statement
      ansible.builtin.cron:
        name: Download LCL bank statement
        minute: 0
        hour: 13
        day: 10
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-lcl-checking
    - name: Cron - Download Octopus Energy proof of address
      ansible.builtin.cron:
        name: Download Octopus Energy proof of address
        minute: 0
        hour: 13
        day: 15
        job: /mnt/data/bin/healthcheck downloader /mnt/data/bin/download-octopus
    - name: Cron - Restart plex container for auto version check
      ansible.builtin.cron:
        name: Restart plex container for auto version check
        minute: 0
        hour: 8
        job: /usr/bin/docker compose -f /mnt/data/media/docker-compose.yaml restart plex