/opt/vhpbot-prod/bot.db is an empty directory that Docker created for a bind mount whose file never existed; the bot keeps no database there. The hook could only fail and mark every nightly run as failed. Assisted-by: Claude:opus-5-5
30 lines
1 KiB
YAML
30 lines
1 KiB
YAML
---
|
|
public_ip: 135.181.27.77
|
|
vpc_ip: "{{ asxpio_ops_vpc_ip }}"
|
|
wireguard_ip: "{{ asxpio_ops_wireguard_ip }}"
|
|
|
|
# SSH: the git user may connect from anywhere (Forgejo passthrough)
|
|
ssh_allow_public_git: true
|
|
ssh_git_user: git
|
|
|
|
# s3fs is off here: its ensure_diskfree reserve never fit the 38 GB disk
|
|
s3fs_enabled: false
|
|
s3fs_ensure_diskfree: 20000
|
|
|
|
# restic: Postgres as a dump, Garage with a fresh metadata snapshot,
|
|
# Forgejo's SQLite through the online backup API
|
|
restic_paths:
|
|
- /etc
|
|
- /opt
|
|
- /root/backups/rclone-hetzner.sh
|
|
- /var/lib/docker/volumes/storage_garage_meta
|
|
- /var/lib/docker/volumes/storage_garage_data
|
|
restic_excludes:
|
|
- /opt/backups
|
|
- /opt/containerd
|
|
restic_pre_hooks:
|
|
- docker exec storage-postgres pg_dumpall -U postgres > "$STAGE/pg_dumpall.sql"
|
|
- docker exec storage-postgres pg_dump -U postgres -Fc asxpio > "$STAGE/asxpio.dump"
|
|
- docker exec storage-garage /garage meta snapshot --all
|
|
- sqlite3 /opt/forgejo/data/gitea/gitea.db ".backup '$STAGE/forgejo-gitea.db'"
|
|
restic_schedule: "*-*-* 03:30:00"
|