#!/bin/bash
# Deploy ke VPS ~/mjs — jalankan dari Mac
set -e

VPS_HOST="${VPS_HOST:-36.93.237.74}"
VPS_PORT="${VPS_PORT:-2233}"
VPS_USER="${VPS_USER:-masemen}"
SSH_KEY="${SSH_KEY:-$HOME/.ssh/mjs-vps}"
APP_DIR="mjs"

cd "$(dirname "$0")/.."
SSH="ssh -p $VPS_PORT -i $SSH_KEY -o StrictHostKeyChecking=accept-new"
SCP="scp -P $VPS_PORT -i $SSH_KEY"

echo "=== Deploy MJS Berita Acara → $VPS_USER@$VPS_HOST:$APP_DIR ==="

./deploy/pack.sh

echo "→ Upload paket & data..."
$SCP mjs-berita-acara-deploy.tar.gz "$VPS_USER@$VPS_HOST:~/"
$SCP -r data "$VPS_USER@$VPS_HOST:~/"

echo "→ Setup di VPS..."
$SSH "$VPS_USER@$VPS_HOST" bash -s << 'REMOTE'
set -e
APP_DIR="$HOME/mjs"
mkdir -p "$APP_DIR"
cd "$APP_DIR"

tar -xzf "$HOME/mjs-berita-acara-deploy.tar.gz"
rm -rf data && cp -r "$HOME/data" ./data
chmod +x deploy/setup-server.sh

if ! command -v node >/dev/null 2>&1; then
  echo "Node.js belum ada — install dulu:"
  echo "  curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -"
  echo "  sudo apt install -y nodejs && sudo npm i -g pm2"
  exit 1
fi

./deploy/setup-server.sh

echo ""
echo "=== Deploy selesai ==="
pm2 status 2>/dev/null || true
curl -sf http://127.0.0.1:8765/api/health && echo "" || echo "(health: tunggu beberapa detik lalu coba lagi)"
REMOTE

echo ""
echo "Aplikasi di: $VPS_USER@$VPS_HOST:~/mjs"
echo "Langkah berikutnya: Nginx + SSL untuk mjs.bdl.co.id"