# Cron Role Cron jobs on the server (tag `cron`). "Cron jobs" in this repo always means jobs on the server, never on the machine running Ansible. ## Jobs | Time | User | Job | |---|---|---| | 08:00 daily | phil | `~/.local/bin/run_dockcheck.sh`: container updates | | 09:10 daily | root | `/usr/local/bin/update_warhammer_feed.sh`: Warhammer RSS feed | ### Dockcheck (container updates) - Downloads [dockcheck](https://github.com/mag37/dockcheck) and its Gotify notify templates into `/home/phil/.local/bin/`. - Templates `/home/phil/.config/dockcheck.config` from `dockcheck.config.j2` (Gotify token from `vault_dockcheck`). - Settings: `OnlyLabel=true` and `AutoMode=true`, so containers labelled `mag37.dockcheck.update=true` are pulled and recreated automatically; any other container with an update gets a Gotify notice. `dawarich_db` and `dawarich_redis` are skipped. - `run_dockcheck.sh` logs to `/var/log/dockcheck/dockcheck.log`. To see what needs updating by hand, run dockcheck on the server: ```bash ssh phil@100.70.169.99 '~/.local/bin/dockcheck.sh -n' ``` ### Warhammer RSS feed `update_warhammer_feed.sh` runs the `git.thesatelliteoflove.com/phil/rss-warhammer` container to build `warhammer_rss_feed.xml` and copies it to `/opt/stacks/caddy/site/tsol/feeds/`, where Caddy serves it on the main site. ## Adding a job Add a `cron` task to `tasks/main.yml` (copy the script with `copy` first if it needs one), then `bin/deploy --tags cron`.