diff --git a/scripts/restore-appfactory.sh b/scripts/restore-appfactory.sh new file mode 100755 index 0000000..3cbd967 --- /dev/null +++ b/scripts/restore-appfactory.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +set -euo pipefail + +BACKUP_FILE="${1:-}" + +if [ -z "$BACKUP_FILE" ]; then + echo "Usage:" + echo " ./restore-appfactory.sh " + exit 1 +fi + +if [ ! -f "$BACKUP_FILE" ]; then + echo "Backup file not found:" + echo "$BACKUP_FILE" + exit 1 +fi + +echo "Stopping AppFactory containers..." + +cd /opt/appfactory/deploy || true + +docker compose -f docker-compose.yml -f apps-compose.yml down || true + +echo "Restoring backup..." + +tar -xzf "$BACKUP_FILE" -C / + +echo "Fixing ownership..." + +chown -R jiri:jiri /opt/appfactory +chown -R jiri:jiri /home/jiri/workspace + +echo "Starting AppFactory..." + +cd /opt/appfactory/deploy + +docker compose -f docker-compose.yml up -d + +cd /home/jiri/workspace/appfactory-tools + +./scripts/generate-apps-compose.sh +./scripts/generate-caddyfile.sh +./scripts/generate-apps-page.sh + +for app_dir in /home/jiri/workspace/*; do + if [ -f "$app_dir/app.yml" ]; then + app_id="$(basename "$app_dir")" + echo "Rebuilding app: $app_id" + ./scripts/deploy-app.sh "$app_id" + fi +done + +echo "" +echo "DONE" +echo "" +echo "Open:" +echo "http://SERVER_IP/portal"