diff --git a/hosts/home-morefine/docker/gitea/backrest_hook_begin.sh b/hosts/home-morefine/docker/gitea/backrest_hook_begin.sh new file mode 100644 index 0000000..d23d145 --- /dev/null +++ b/hosts/home-morefine/docker/gitea/backrest_hook_begin.sh @@ -0,0 +1,5 @@ +# run pg_dump +bash /home/backups/docker/gitea/dump_db.sh + +# stop gitea +docker compose -f /home/backups/docker/gitea/docker-compose.yaml stop diff --git a/hosts/home-morefine/docker/gitea/backrest_hook_end.sh b/hosts/home-morefine/docker/gitea/backrest_hook_end.sh new file mode 100644 index 0000000..0c3e566 --- /dev/null +++ b/hosts/home-morefine/docker/gitea/backrest_hook_end.sh @@ -0,0 +1,5 @@ +# start gitea +docker compose -f /home/backups/docker/gitea/docker-compose.yaml start + +# remove temp backup file +rm -f /srv/backups/pgdumps/gitea/pg.dump diff --git a/hosts/home-morefine/docker/gitea/dump_db.sh b/hosts/home-morefine/docker/gitea/dump_db.sh new file mode 100644 index 0000000..b6c3976 --- /dev/null +++ b/hosts/home-morefine/docker/gitea/dump_db.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +CONTAINER="gitea_pg_db" +USER="gitea" +DB="gitea" +BACKUP_DIR="/srv/backups/pgdumps/gitea" +TMP_FILE="$BACKUP_DIR/pg.dump.tmp" +FINAL_FILE="$BACKUP_DIR/pg.dump" + +echo "Starting [$DB] pg_dump..." + +mkdir -p "$BACKUP_DIR" + +# remove old backup file +rm -f "$TMP_FILE" "$FINAL_FILE" + +docker exec -t "$CONTAINER" \ + sh -lc "pg_dump -U $USER -d $DB -Fc -Z 0 --no-owner --no-privileges" \ + > "$TMP_FILE" + +mv "$TMP_FILE" "$FINAL_FILE" + +echo "Done: [$DB] backup saved to $FINAL_FILE"