#!/usr/bin/env bash set -euo pipefail SSH_USER="${SSH_USER:-syntaxbullet}" VPS_HOST="${VPS_HOST:-srv1.bayerischer-mittelstandspreis.de}" VPS_PORT="${VPS_PORT:-22}" SSH_KEY="${SSH_KEY:-$HOME/.ssh/bmp-vps-deploy}" APP_ROOT="${APP_ROOT:-/var/www/bmp-website}" APP_DOMAIN="${APP_DOMAIN:-srv1.bayerischer-mittelstandspreis.de}" SSH_TARGET="$SSH_USER@$VPS_HOST" COMPOSE_FILE="$APP_ROOT/current/deploy/vps/docker-compose.yml" ssh -t -i "$SSH_KEY" -p "$VPS_PORT" "$SSH_TARGET" " set -e cd '$APP_ROOT' backup_dir='$APP_ROOT/backups' backup_file=\"\$backup_dir/content-\$(date +%Y%m%d-%H%M%S)-pre-migrate.db\" sudo install -d -o '$SSH_USER' -g '$SSH_USER' \"\$backup_dir\" restart_app() { APP_ROOT='$APP_ROOT' APP_DOMAIN='$APP_DOMAIN' sudo docker compose -f '$COMPOSE_FILE' up -d app >/dev/null } trap restart_app EXIT APP_ROOT='$APP_ROOT' APP_DOMAIN='$APP_DOMAIN' sudo docker compose -f '$COMPOSE_FILE' stop app >/dev/null cp -p '$APP_ROOT/shared/content.db' \"\$backup_file\" echo \"Created pre-migration backup: \$backup_file\" APP_ROOT='$APP_ROOT' APP_DOMAIN='$APP_DOMAIN' sudo docker compose -f '$COMPOSE_FILE' run --rm --no-deps app pnpm payload migrate restart_app trap - EXIT sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}' "