← back to Designersalesreps

deploy-kamatera.sh

37 lines

#!/usr/bin/env bash
# deploy-kamatera.sh — designersalesreps.com → Kamatera 45.61.58.125
# Usage: bash deploy-kamatera.sh
set -euo pipefail

REMOTE=root@45.61.58.125
LOCAL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REMOTE_DIR=/root/Projects/designersalesreps
HEALTH_URL=http://127.0.0.1:9905/health

echo "==> Syncing to $REMOTE:$REMOTE_DIR"
rsync -az --delete \
  --exclude='node_modules/' \
  --exclude='.git/' \
  --exclude='.env*' \
  --exclude='*.log' \
  --exclude='claims.jsonl' \
  --exclude='logs/' \
  "$LOCAL_DIR/" "$REMOTE:$REMOTE_DIR/"

echo "==> npm install on remote"
ssh "$REMOTE" "cd $REMOTE_DIR && npm install --omit=dev --silent"

echo "==> mkdir logs"
ssh "$REMOTE" "mkdir -p $REMOTE_DIR/logs"

echo "==> pm2 startOrReload"
ssh "$REMOTE" "cd $REMOTE_DIR && pm2 startOrReload ecosystem.config.js --update-env && pm2 save"

echo "==> Health check (origin direct)"
ssh "$REMOTE" "curl -sf $HEALTH_URL" && echo "PASS: origin direct" || { echo "FAIL: health check"; exit 1; }

echo "==> Verifying CF-proxied (HTTPS)"
curl -sf https://designersalesreps.com/health && echo "PASS: CF proxied" || echo "WARN: CF not yet routed (DNS pending?)"

echo "==> Done. designersalesreps.com is live on :9905"