add optional backup.yml: borgbase backups via systemd timers
backup.yml (opt-in) installs borg, uploads the borgbase SSH key,
initializes the repo on first run if empty, and registers two systemd
timers:
- lichen-backup.timer (daily at 03:00 by default) — borg create +
prune + compact against the lichen_data docker volume
- lichen-borg-check.timer (first Sunday of the month) — borg check
--verify-data to catch archive corruption early
No app downtime — backups run hot against the live volume. Site data is
git-managed with atomic renames, so a mid-commit archive restores cleanly.
Retention defaults: 7 daily / 4 weekly / 6 monthly. Variables are in the
playbook header; overridable via group_vars.
Also adds inventory.yml to the submodule .gitignore to keep operators'
real inventories out of the repo.