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