--- # Enable cron logging in systemd-journald (already enabled by default) # We'll rely on journalctl for cron execution logs # Ensure the script is copied to the target machine - name: Copy the warhammer feed update script copy: src: update_warhammer_feed.sh dest: /usr/local/bin/update_warhammer_feed.sh mode: '0755' owner: root group: root # Create the cron job to run the script at 09:10 every day - name: Create cron job for warhammer feed update cron: name: "Update Warhammer RSS Feed" minute: "10" hour: "9" user: root job: "/usr/local/bin/update_warhammer_feed.sh" # Create .local/bin directory for phil user - name: Ensure .local/bin directory exists for phil file: path: /home/phil/.local/bin state: directory mode: '0755' owner: phil group: phil # Install dockcheck script in phil's .local/bin - name: Download dockcheck.sh script get_url: url: https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh dest: /home/phil/.local/bin/dockcheck.sh mode: '0755' owner: phil group: phil # Create .config directory for phil user - name: Ensure .config directory exists for phil file: path: /home/phil/.config state: directory mode: '0755' owner: phil group: phil # Create notify_templates directory alongside dockcheck.sh - name: Ensure notify_templates directory exists in .local/bin file: path: /home/phil/.local/bin/notify_templates state: directory mode: '0755' owner: phil group: phil # Download notify_v2.sh script for dockcheck notifications - name: Download notify_v2.sh script get_url: url: https://raw.githubusercontent.com/mag37/dockcheck/main/notify_templates/notify_v2.sh dest: /home/phil/.local/bin/notify_templates/notify_v2.sh mode: '0755' owner: phil group: phil # Download notify_gotify.sh script for dockcheck notifications - name: Download notify_gotify.sh script get_url: url: https://raw.githubusercontent.com/mag37/dockcheck/main/notify_templates/notify_gotify.sh dest: /home/phil/.local/bin/notify_templates/notify_gotify.sh mode: '0755' owner: phil group: phil # Template dockcheck configuration file - name: Template dockcheck configuration template: src: dockcheck.config.j2 dest: /home/phil/.config/dockcheck.config mode: '0644' owner: phil group: phil # Create log directory for dockcheck - name: Create dockcheck log directory file: path: /var/log/dockcheck state: directory mode: '0755' owner: phil group: phil # Create dockcheck wrapper script to avoid cron escaping issues - name: Create dockcheck wrapper script copy: dest: /home/phil/.local/bin/run_dockcheck.sh mode: '0755' owner: phil group: phil content: | #!/bin/bash cd /home/phil /home/phil/.local/bin/dockcheck.sh >> /var/log/dockcheck/dockcheck.log 2>&1 echo "$(date "+%Y-%m-%d %H:%M:%S") - Dockcheck completed with exit code $?" >> /var/log/dockcheck/dockcheck.log # Create cron job for dockcheck as phil user with logging - name: Create cron job for dockcheck container updates cron: name: "Check Docker container updates" minute: "0" hour: "8" user: phil job: "/home/phil/.local/bin/run_dockcheck.sh"