Use shared postgres admin for borg dumps
This commit is contained in:
@@ -8,6 +8,8 @@ set -eu
|
||||
DUMP_ROOT="${DUMP_ROOT:-/mnt/user/appdata/borg-ui/dumps}"
|
||||
LATEST_DIR="$DUMP_ROOT/latest"
|
||||
TMP_DIR="$DUMP_ROOT/.tmp"
|
||||
SHARED_PG_ADMIN_USER="${SHARED_PG_ADMIN_USER:-mailarchiver}"
|
||||
SHARED_PG_PASSWORD_FILE="${SHARED_PG_PASSWORD_FILE:-/mnt/user/appdata/secrets/postgres_password.txt}"
|
||||
|
||||
log() {
|
||||
printf '%s %s\n' "[borg-dumps]" "$*"
|
||||
@@ -133,12 +135,15 @@ main() {
|
||||
|
||||
# Shared PostgreSQL 17
|
||||
if need_container "postgresql17"; then
|
||||
shared_pg_password="$(cat /mnt/user/appdata/secrets/postgres_password.txt)"
|
||||
dump_pg_globals "postgresql17" "$shared_pg_password" "mailarchiver" "$LATEST_DIR/postgresql17-globals.sql"
|
||||
dump_pg_db "postgresql17" "$shared_pg_password" "mailarchiver" "mailarchiver" "$LATEST_DIR/postgresql17-mailarchiver.dump"
|
||||
dump_pg_db "postgresql17" "$shared_pg_password" "mailarchiver" "paperless" "$LATEST_DIR/postgresql17-paperless.dump"
|
||||
dump_optional_pg_db "postgresql17" "$shared_pg_password" "mailarchiver" "semaphore" "$LATEST_DIR/postgresql17-semaphore.dump"
|
||||
dump_optional_pg_db "postgresql17" "$shared_pg_password" "mailarchiver" "authelia" "$LATEST_DIR/postgresql17-authelia.dump"
|
||||
# Use the cluster admin/superuser for all shared-cluster dumps. The
|
||||
# application roles exist, but they can have different passwords from the
|
||||
# bootstrap postgres secret used by the shared container.
|
||||
shared_pg_password="$(cat "$SHARED_PG_PASSWORD_FILE")"
|
||||
dump_pg_globals "postgresql17" "$shared_pg_password" "$SHARED_PG_ADMIN_USER" "$LATEST_DIR/postgresql17-globals.sql"
|
||||
dump_pg_db "postgresql17" "$shared_pg_password" "$SHARED_PG_ADMIN_USER" "mailarchiver" "$LATEST_DIR/postgresql17-mailarchiver.dump"
|
||||
dump_pg_db "postgresql17" "$shared_pg_password" "$SHARED_PG_ADMIN_USER" "paperless" "$LATEST_DIR/postgresql17-paperless.dump"
|
||||
dump_optional_pg_db "postgresql17" "$shared_pg_password" "$SHARED_PG_ADMIN_USER" "semaphore" "$LATEST_DIR/postgresql17-semaphore.dump"
|
||||
dump_optional_pg_db "postgresql17" "$shared_pg_password" "$SHARED_PG_ADMIN_USER" "authelia" "$LATEST_DIR/postgresql17-authelia.dump"
|
||||
else
|
||||
warn "Skipping shared PostgreSQL dumps because container 'postgresql17' is missing"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user