2026-03-30 04:48:09 +02:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
ROOT_DIR="/Users/ashwin/workspace/nxtgauge-admin-solid"
|
2026-04-10 01:17:00 +02:00
|
|
|
PID_FILE="/tmp/nxtgauge-admin-9202.pid"
|
|
|
|
|
LOG_FILE="/tmp/nxtgauge-admin-9202.log"
|
|
|
|
|
APP_URL="http://127.0.0.1:9202/admin/external-dashboard-management"
|
2026-03-30 04:48:09 +02:00
|
|
|
|
|
|
|
|
stop_server() {
|
|
|
|
|
if [[ -f "$PID_FILE" ]]; then
|
|
|
|
|
pid="$(cat "$PID_FILE" || true)"
|
|
|
|
|
if [[ -n "${pid:-}" ]] && kill -0 "$pid" 2>/dev/null; then
|
|
|
|
|
kill -9 "$pid" || true
|
|
|
|
|
fi
|
|
|
|
|
rm -f "$PID_FILE"
|
|
|
|
|
fi
|
|
|
|
|
|
2026-04-10 01:17:00 +02:00
|
|
|
lsof -tiTCP:9202 -sTCP:LISTEN | xargs -r kill -9 || true
|
2026-03-30 04:48:09 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
status_server() {
|
2026-04-10 01:17:00 +02:00
|
|
|
if lsof -nP -iTCP:9202 -sTCP:LISTEN >/dev/null 2>&1; then
|
|
|
|
|
echo "admin-9202: running"
|
|
|
|
|
lsof -nP -iTCP:9202 -sTCP:LISTEN
|
2026-03-30 04:48:09 +02:00
|
|
|
exit 0
|
|
|
|
|
fi
|
2026-04-10 01:17:00 +02:00
|
|
|
echo "admin-9202: stopped"
|
2026-03-30 04:48:09 +02:00
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
start_server() {
|
|
|
|
|
cd "$ROOT_DIR"
|
|
|
|
|
|
|
|
|
|
if [[ ! -f ".output/server/index.mjs" ]]; then
|
|
|
|
|
echo "Build output missing. Running build..."
|
|
|
|
|
npm run build
|
|
|
|
|
fi
|
|
|
|
|
|
2026-04-10 01:17:00 +02:00
|
|
|
nohup env HOST=127.0.0.1 PORT=9202 node .output/server/index.mjs >"$LOG_FILE" 2>&1 &
|
2026-03-30 04:48:09 +02:00
|
|
|
new_pid=$!
|
|
|
|
|
echo "$new_pid" > "$PID_FILE"
|
|
|
|
|
|
|
|
|
|
for _ in {1..20}; do
|
|
|
|
|
if curl -fsS -m 3 "$APP_URL" >/dev/null 2>&1; then
|
2026-04-10 01:17:00 +02:00
|
|
|
echo "admin-9202: running (pid $new_pid)"
|
2026-03-30 04:48:09 +02:00
|
|
|
echo "url: $APP_URL"
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
sleep 1
|
|
|
|
|
done
|
|
|
|
|
|
2026-04-10 01:17:00 +02:00
|
|
|
echo "admin-9202: failed to start"
|
2026-03-30 04:48:09 +02:00
|
|
|
echo "Last log lines:"
|
|
|
|
|
tail -n 40 "$LOG_FILE" || true
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
action="${1:-restart}"
|
|
|
|
|
case "$action" in
|
|
|
|
|
restart)
|
|
|
|
|
stop_server
|
|
|
|
|
start_server
|
|
|
|
|
;;
|
|
|
|
|
stop)
|
|
|
|
|
stop_server
|
2026-04-10 01:17:00 +02:00
|
|
|
echo "admin-9202: stopped"
|
2026-03-30 04:48:09 +02:00
|
|
|
;;
|
|
|
|
|
status)
|
|
|
|
|
status_server
|
|
|
|
|
;;
|
|
|
|
|
*)
|
|
|
|
|
echo "Usage: $0 [restart|stop|status]"
|
|
|
|
|
exit 2
|
|
|
|
|
;;
|
|
|
|
|
esac
|