start.sh 821 Bytes
#!/bin/bash
# LemonACP — 启动脚本

set -e

# 加载 .env
if [ -f .env ]; then
  set -a; source .env; set +a
fi

# 确保 nvm 可用
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

# 检查依赖
if [ ! -d "node_modules" ]; then
  echo "未安装依赖,请先运行: npm install"
  exit 1
fi

# 清理端口冲突
PORT=${PORT:-3010}
PID=$(lsof -ti:$PORT 2>/dev/null || true)
if [ -n "$PID" ]; then
  echo "端口 $PORT 被占用 (PID: $PID),正在释放..."
  kill -9 $PID 2>/dev/null || true
  sleep 0.3
fi

echo "LemonACP 启动中 (端口 $PORT)..."
node server/index.js &
SERVER_PID=$!

sleep 1
echo "就绪: http://localhost:$PORT"
echo "健康检查: http://localhost:$PORT/api/health"
echo "按 Ctrl+C 停止"

trap "kill $SERVER_PID 2>/dev/null; exit 0" SIGINT SIGTERM
wait