Added redis and worker services
This commit is contained in:
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
compose_file="${COMPOSE_FILE:-docker-compose.prod.yml}"
|
||||
backup_dir="${BACKUP_DIR:-backups/postgres}"
|
||||
timestamp="$(date -u +%Y%m%dT%H%M%SZ)"
|
||||
backup_path="${backup_dir}/flockpal-${timestamp}.dump"
|
||||
|
||||
mkdir -p "$backup_dir"
|
||||
|
||||
docker compose -f "$compose_file" exec -T postgres sh -c 'pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB" --format=custom --no-owner --no-privileges' > "$backup_path"
|
||||
|
||||
echo "$backup_path"
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -ne 1 ]]; then
|
||||
echo "Usage: $0 backups/postgres/flockpal-YYYYMMDDTHHMMSSZ.dump" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
backup_path="$1"
|
||||
compose_file="${COMPOSE_FILE:-docker-compose.prod.yml}"
|
||||
restore_db="flockpal_restore_test_$(date -u +%Y%m%d%H%M%S)"
|
||||
|
||||
if [[ ! -f "$backup_path" ]]; then
|
||||
echo "Backup file not found: $backup_path" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
cleanup() {
|
||||
docker compose -f "$compose_file" exec -T postgres sh -c "dropdb -U \"\$POSTGRES_USER\" --if-exists \"$restore_db\"" >/dev/null
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
docker compose -f "$compose_file" exec -T postgres sh -c "createdb -U \"\$POSTGRES_USER\" \"$restore_db\""
|
||||
docker compose -f "$compose_file" exec -T postgres sh -c "pg_restore -U \"\$POSTGRES_USER\" -d \"$restore_db\" --no-owner --no-privileges" < "$backup_path"
|
||||
docker compose -f "$compose_file" exec -T postgres sh -c "psql -U \"\$POSTGRES_USER\" -d \"$restore_db\" -v ON_ERROR_STOP=1 -c 'SELECT COUNT(*) AS workspaces FROM workspaces;'"
|
||||
|
||||
echo "Restore test passed for $backup_path"
|
||||
Reference in New Issue
Block a user