41 lines
1.1 KiB
Bash
Executable file
41 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
service=$(basename "$0")
|
|
|
|
tmp_dir=$(mktemp -d)
|
|
backup_dir="$tmp_dir/opt/services/_backup/$service"
|
|
|
|
cd /opt/services/backup/
|
|
|
|
echo "Restoring backup..."
|
|
autorestic -c .autorestic.all.yml restore -l "$service" --from borgbase --to "$tmp_dir"
|
|
echo "Backup restored."
|
|
|
|
cd "/opt/services/$service" || exit
|
|
|
|
echo "Stopping all services"
|
|
docker compose down
|
|
echo "Starting database..."
|
|
docker compose up -d mariadb
|
|
|
|
echo "Waiting for database to start..."
|
|
sleep 10
|
|
|
|
echo "Restoring database..."
|
|
docker compose exec -T mariadb sh -c 'mariadb -u root -p"$MYSQL_ROOT_PASSWORD"' < "$backup_dir/database.sql"
|
|
echo "Database restored."
|
|
|
|
echo "Restoring other files..."
|
|
install -o 1000 -g 1000 "$backup_dir/config.json" resources/views/layouts/SPTheme/config.json
|
|
install -o 1000 -g 1000 "$backup_dir/blank.blade.php" modules/DisposableBasic/Resources/views/web/blank.blade.php
|
|
cp -rf "$backup_dir/uploads/" public/
|
|
chown -R 1000:1000 public/uploads
|
|
echo "Other files restored."
|
|
|
|
echo "Removing temporary files..."
|
|
rm -rf "$tmp_dir"
|
|
|
|
echo "Starting services..."
|
|
docker compose up -d --force-recreate
|