Add (manual) recovery scripts

This commit is contained in:
Tobias Reisinger 2024-10-30 16:35:46 +01:00
parent a2c680f3e8
commit 4f97b66c3d
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
4 changed files with 48 additions and 1 deletions
playbooks/roles/backup/files/recovery

View file

@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -e
tmp_dir=$(mktemp -d)
cd /opt/services/backup/
echo "Restoring backup..."
autorestic -c .autorestic.all.yml restore -l immich_database --from borgbase --to "$tmp_dir"
echo "Backup restored."
cd /opt/services/immich
echo "Starting database..."
docker compose up -d database
echo "Waiting for database to start..."
sleep 10
echo "Restoring database..."
cat "$tmp_dir/opt/services/_backup/immich_database/immich.sql.gz" \
| gunzip \
| sed "s/SELECT pg_catalog.set_config('search_path', '', false);/SELECT pg_catalog.set_config('search_path', 'public, pg_catalog', true);/g" \
| docker exec -i immich-database-1 psql --username=immich
echo "Database restored."
echo "Removing temporary files..."
rm -rf "$tmp_dir"
echo "Starting services..."
docker compose up -d