Files
whatsapp-inbox-platform/scripts/ops-safe-restart.sh
wirabasalamah 137edc12b7
Some checks are pending
CI - Production Readiness / Verify (push) Waiting to run
fix: lates
2026-04-21 20:37:59 +07:00

45 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
APP_DIR=${APP_DIR:-$(pwd)}
PM2_NAME=${PM2_NAME:-whatsapp-inbox-platform}
PORT=${PORT:-3002}
SKIP_DB=${SKIP_DB:-0}
SKIP_HEALTHCHECK=${SKIP_HEALTHCHECK:-0}
if [ ! -f "$APP_DIR/.env" ]; then
echo "[ops-safe-restart] .env file not found in $APP_DIR"
exit 1
fi
cd "$APP_DIR"
echo "[ops-safe-restart] install dependencies"
npm ci --no-audit --no-fund
echo "[ops-safe-restart] run build"
npm run build
if [ "$SKIP_DB" != "1" ]; then
echo "[ops-safe-restart] apply prisma migration"
npm run db:deploy
fi
if pm2 describe "$PM2_NAME" >/dev/null 2>&1; then
echo "[ops-safe-restart] restart existing pm2 process: $PM2_NAME"
pm2 restart "$PM2_NAME" --update-env
else
echo "[ops-safe-restart] start new pm2 process: $PM2_NAME"
pm2 start npm --name "$PM2_NAME" -- start -- --port "$PORT"
fi
if [ "$SKIP_HEALTHCHECK" != "1" ]; then
echo "[ops-safe-restart] run ops healthcheck"
npm run ops:healthcheck
fi
echo "[ops-safe-restart] saving pm2 process list"
pm2 save
echo "[ops-safe-restart] done"