← 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"