Files
frankenstallm/source/scripts/start-gateway.sh
ModelHub XC d4abdb70fa 初始化项目,由ModelHub XC社区提供模型
Model: pathcosmos/frankenstallm
Source: Original Platform
2026-07-14 04:21:16 +08:00

45 lines
1.3 KiB
Bash

#!/usr/bin/env bash
# start-gateway.sh — OpenClaw 게이트웨이 직접 시작 (독립 프로세스)
set -euo pipefail
RNTIER_HOME="${RNTIER_HOME:-$HOME}"
export PATH="${RNTIER_HOME}/.npm-global/bin:/usr/bin:/usr/local/bin:/bin:$PATH"
export HOME="${HOME:-/home/ghong}"
export OPENCLAW_STATE_DIR="${RNTIER_HOME}/.openclaw"
export OPENCLAW_CONFIG_PATH="${RNTIER_HOME}/.openclaw/openclaw.json"
LOG_DIR="/tmp/openclaw"
GATEWAY_LOG="${LOG_DIR}/gateway.log"
PID_FILE="/tmp/openclaw-gateway.pid"
mkdir -p "$LOG_DIR"
# 기존 프로세스 정리
pkill -f "openclaw.*gateway" 2>/dev/null || true
sleep 2
# 게이트웨이 시작 — setsid로 완전 분리
setsid nohup "${RNTIER_HOME}/.npm-global/bin/openclaw" gateway run \
--port 18789 \
--bind loopback \
>> "$GATEWAY_LOG" 2>&1 < /dev/null &
PID=$!
echo "$PID" > "$PID_FILE"
date +%s > /tmp/openclaw-last-restart
echo "[$(date)] Gateway launched with PID $PID"
# 10초 대기 후 상태 확인
sleep 10
if kill -0 "$PID" 2>/dev/null; then
echo "[$(date)] OK: Gateway PID $PID is alive"
ss -tlnH "sport = :18789" 2>/dev/null && echo "[$(date)] OK: Port 18789 is listening" || echo "[$(date)] WARN: Port 18789 not yet listening"
else
echo "[$(date)] FAIL: Gateway PID $PID died"
echo "--- Last 20 lines of gateway.log ---"
tail -20 "$GATEWAY_LOG" 2>/dev/null
exit 1
fi