All checks were successful
CI / lint-and-test (push) Successful in 9m52s
Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
2.2 KiB
Bash
Executable File
55 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Resume Solace Proxmox deploy after partial run (sync code, rebuild, frontend, finish).
|
|
set -euo pipefail
|
|
|
|
PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.11}"
|
|
PROXMOX_USER="${PROXMOX_USER:-root}"
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
DEPLOYMENT_DIR="/tmp/solace-dapp-deployment"
|
|
DATABASE_PASSWORD="${DATABASE_PASSWORD:?Set DATABASE_PASSWORD}"
|
|
|
|
export DATABASE_PASSWORD
|
|
"$ROOT/scripts/proxmox-prepare-env.sh"
|
|
|
|
echo "Syncing deployment bundle to $PROXMOX_HOST..."
|
|
ssh "$PROXMOX_USER@$PROXMOX_HOST" "mkdir -p $DEPLOYMENT_DIR/project $DEPLOYMENT_DIR/config"
|
|
rsync -az "$ROOT/deployment/proxmox/" "$PROXMOX_USER@$PROXMOX_HOST:$DEPLOYMENT_DIR/"
|
|
rsync -az --delete --exclude node_modules --exclude .next --exclude dist \
|
|
"$ROOT/backend/" "$PROXMOX_USER@$PROXMOX_HOST:$DEPLOYMENT_DIR/project/backend/"
|
|
rsync -az --delete --exclude node_modules --exclude .next \
|
|
"$ROOT/frontend/" "$PROXMOX_USER@$PROXMOX_HOST:$DEPLOYMENT_DIR/project/frontend/"
|
|
|
|
ssh "$PROXMOX_USER@$PROXMOX_HOST" "cat > $DEPLOYMENT_DIR/config/dapp.conf <<EOF
|
|
$(grep -v '^DATABASE_PASSWORD=' "$ROOT/deployment/proxmox/config/dapp.conf")
|
|
DATABASE_PASSWORD=$DATABASE_PASSWORD
|
|
PROJECT_ROOT=$DEPLOYMENT_DIR/project
|
|
PROXMOX_STORAGE=thin1
|
|
CONTAINER_UNPRIVILEGED=0
|
|
CONTAINER_HOSTNAME=
|
|
EOF
|
|
chmod +x $DEPLOYMENT_DIR/*.sh"
|
|
|
|
echo "Rebuilding backend (3001) and indexer (3003)..."
|
|
ssh "$PROXMOX_USER@$PROXMOX_HOST" bash -s <<'REMOTE'
|
|
set -euo pipefail
|
|
DEPLOYMENT_DIR=/tmp/solace-dapp-deployment
|
|
PROJECT_ROOT=$DEPLOYMENT_DIR/project
|
|
|
|
rebuild_backend() {
|
|
local vmid=$1 dir=$2
|
|
pct exec "$vmid" -- bash -c "rm -rf /opt/$dir/* /opt/$dir/.* 2>/dev/null || true"
|
|
cd "$PROJECT_ROOT"
|
|
tar czf - backend | pct exec "$vmid" -- bash -c "cd /opt && tar xzf - && mv backend/* $dir/ && mv backend/.* $dir/ 2>/dev/null || true && rmdir backend 2>/dev/null || true"
|
|
pct exec "$vmid" -- bash -c "cd /opt/$dir && pnpm install --no-frozen-lockfile"
|
|
}
|
|
|
|
rebuild_backend 3001 solace-backend
|
|
rebuild_backend 3003 solace-indexer
|
|
REMOTE
|
|
|
|
echo "Deploying frontend (3000) + nginx..."
|
|
ssh "$PROXMOX_USER@$PROXMOX_HOST" "cd $DEPLOYMENT_DIR && DEPLOY_DATABASE=false DEPLOY_BACKEND=false DEPLOY_INDEXER=false DEPLOY_FRONTEND=true DEPLOY_NGINX=true ./deploy-dapp.sh"
|
|
|
|
"$ROOT/scripts/proxmox-finish-deploy.sh"
|
|
echo "Resume deploy complete."
|