diff --git a/hosts/home-morefine/docker/immich/backrest_hook_begin.sh b/hosts/home-morefine/docker/immich/backrest_hook_begin.sh new file mode 100644 index 0000000..ccffb12 --- /dev/null +++ b/hosts/home-morefine/docker/immich/backrest_hook_begin.sh @@ -0,0 +1,5 @@ +# run pg_dump +bash /home/backups/docker/immich/dump_db.sh + +# stop immich +docker compose -f /home/backups/docker/immich/docker-compose.yaml stop diff --git a/hosts/home-morefine/docker/immich/backrest_hook_end.sh b/hosts/home-morefine/docker/immich/backrest_hook_end.sh new file mode 100644 index 0000000..56e5890 --- /dev/null +++ b/hosts/home-morefine/docker/immich/backrest_hook_end.sh @@ -0,0 +1,5 @@ +# start immich +docker compose -f /home/backups/docker/immich/docker-compose.yaml start + +# remove temp backup file +rm -f /srv/backups/pgdumps/immich/pg.dump diff --git a/hosts/home-morefine/docker/immich/dump_db.sh b/hosts/home-morefine/docker/immich/dump_db.sh new file mode 100644 index 0000000..f812487 --- /dev/null +++ b/hosts/home-morefine/docker/immich/dump_db.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +CONTAINER="immich_postgres" +USER="postgres" +DB="immich" +BACKUP_DIR="/srv/backups/pgdumps/immich" +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"