c9aac20e73
Ansible-managed (inline-compose, file-provider router, host :8099), idempotent (changed=0). PBS-backed pg_dump (daily, keep 14) with verified round-trip restore; ntfy 'garage' reminder probe (.190); Diun repo-watch for new tags; Homepage tile+widget. Secrets via ansible-vault / /etc env files / HOMEPAGE_VAR — none in repo. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
761 B
Bash
25 lines
761 B
Bash
#!/bin/bash
|
|
# LubeLogger Postgres logical backup -> Proxmox Backup Server.
|
|
# Installed at /usr/local/bin/lubelogger-backup.sh ; driven by lubelogger-backup.timer.
|
|
set -euo pipefail
|
|
source /etc/lubelogger-backup.env
|
|
export PBS_PASSWORD PBS_FINGERPRINT
|
|
|
|
TMPDIR=$(mktemp -d)
|
|
trap 'rm -rf "$TMPDIR"' EXIT
|
|
|
|
# Consistent logical dump (includes the `app` schema + data). App stays online.
|
|
docker exec lubelogger-db pg_dump -U lubelogger lubelogger > "$TMPDIR/lubelogger.sql"
|
|
|
|
# Push to PBS
|
|
proxmox-backup-client backup \
|
|
"lubelogger-db.pxar:$TMPDIR" \
|
|
--repository "$PBS_REPOSITORY" \
|
|
--backup-type host \
|
|
--backup-id lubelogger
|
|
|
|
# Retain ~14 daily snapshots
|
|
proxmox-backup-client prune "host/lubelogger" \
|
|
--repository "$PBS_REPOSITORY" \
|
|
--keep-daily 14
|