- forgejo role: tasks no longer wipe data on subsequent runs (check for existing
data before resetting)
- runner: use data.forgejo.org/forgejo/runner:12, register with --no-interactive,
run as root for Docker socket access
- runner-config: proper generate-config format
- graham user: password hash in managed_users config
- SSH key added to Forgejo graham user
- direnv in base Debian packages