diff --git a/id.tjo.space/root/usr/local/bin/postgresql-backup-restore.sh b/id.tjo.space/root/usr/local/bin/postgresql-backup-restore.sh new file mode 100755 index 0000000..81a4c5f --- /dev/null +++ b/id.tjo.space/root/usr/local/bin/postgresql-backup-restore.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -euo pipefail + +echo "=== Reading Configuration" +set -a && source /etc/postgresql/postgresql.env && set +a + +echo "== Stopping Authentik..." +systemctl stop authentik-server authentik-worker + +echo "== Dropping and Recreating Database..." +podman exec systemd-postgresql dropdb --username="${POSTGRES_USER}" --force --if-exists "${POSTGRES_DB}" +podman exec systemd-postgresql createdb --username="${POSTGRES_USER}" "${POSTGRES_DB}" + +echo "== Restoring Database..." +cat /dev/stdin | podman exec -i systemd-postgresql pg_restore \ + --username="${POSTGRES_USER}" \ + --dbname="${POSTGRES_DB}" + +echo "== Starting Authentik..." +systemctl start authentik-server authentik-worker