Maintenance Scripts
This directory contains shell scripts for common maintenance tasks.
Available Scripts
| Script | Description | Usage |
|---|---|---|
gpu-check.sh |
Verify GPU passthrough in containers | ./scripts/gpu-check.sh |
health-check.sh |
Check all services and report status | ./scripts/health-check.sh |
setup-kuma-monitors.sh |
Manual guide for configuring Uptime Kuma monitors | ./scripts/setup-kuma-monitors.sh |
setup-kuma-monitors.py |
Automated Uptime Kuma monitor setup via API | source .venv/bin/activate && python3 scripts/setup-kuma-monitors.py |
backup-configs.sh |
Backup all Docker configs | ./scripts/backup-configs.sh |
disk-usage.sh |
Report disk usage for SSD and HDD | ./scripts/disk-usage.sh |
update-stacks.sh |
Pull latest images and update containers | ./scripts/update-stacks.sh <stack-name> |
cleanup.sh |
Clean up unused Docker resources | ./scripts/cleanup.sh |
Making Scripts Executable
# Make all scripts executable
chmod +x scripts/*.sh
# Or individually
chmod +x scripts/health-check.sh
Scheduling with Cron
Add to crontab for automated maintenance:
# Edit crontab
crontab -e
# Examples:
# Daily health check at 8 AM
0 8 * * * /home/jpmschweitzer/Projects/tower-of-joy/scripts/health-check.sh >> /var/log/tower-of-joy-health.log 2>&1
# Weekly cleanup on Sunday at 3 AM
0 3 * * 0 /home/jpmschweitzer/Projects/tower-of-joy/scripts/cleanup.sh
# Daily backup at 2 AM
0 2 * * * /home/jpmschweitzer/Projects/tower-of-joy/scripts/backup-configs.sh
Script Guidelines
- All scripts should include error handling
- Use absolute paths for reliability
- Log output for debugging
- Exit with appropriate status codes (0 = success, non-zero = failure)
- Include help text with
-hor--helpflags