From 2170a87e6bb9a6ee85b73ff278423037427ed2c0 Mon Sep 17 00:00:00 2001
From: Tine <tine@tjo.space>
Date: Mon, 10 Mar 2025 21:57:37 +0100
Subject: [PATCH] feat(id.tjo.space): add restore backup script

---
 .../local/bin/postgresql-backup-restore.sh    | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100755 id.tjo.space/root/usr/local/bin/postgresql-backup-restore.sh

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