- Added comprehensive logging to /var/log/dockcheck/dockcheck.log - Created wrapper script to avoid cron variable escaping issues - Added timestamp logging for each execution with exit codes - Created proper log directory with correct permissions - Removed unnecessary -n flag (config file handles DontUpdate=true) - Added cron handlers for service management 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
116 lines
3.2 KiB
YAML
116 lines
3.2 KiB
YAML
---
|
|
# 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"
|