2026-06-16 16:29:19 -07:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
# Plaza Next.js 生产进程(plaza.tkmind.cn → Cloudflare Tunnel :3001)
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
|
|
|
|
cd "$ROOT"
|
|
|
|
|
|
|
|
|
|
|
|
if [[ -f "${ROOT}/.env" ]]; then
|
|
|
|
|
|
set -a
|
|
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
|
|
source "${ROOT}/.env"
|
|
|
|
|
|
set +a
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
export NODE_ENV=production
|
2026-06-26 15:19:03 +08:00
|
|
|
|
export H5_PUBLIC_BASE_URL="https://m.tkmind.cn"
|
2026-06-16 16:29:19 -07:00
|
|
|
|
PORTAL_PORT="${H5_PORT:-8081}"
|
|
|
|
|
|
PLAZA_PORT="${PLAZA_PORT:-3001}"
|
|
|
|
|
|
|
2026-06-17 16:39:39 -07:00
|
|
|
|
NODE_BIN="${NODE_BIN:-/opt/homebrew/opt/node@24/bin/node}"
|
2026-06-16 16:29:19 -07:00
|
|
|
|
if [[ ! -x "${NODE_BIN}" ]]; then
|
|
|
|
|
|
NODE_BIN="$(command -v node)"
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
echo "==> 等待 Portal :${PORTAL_PORT}…"
|
|
|
|
|
|
for _ in $(seq 1 120); do
|
|
|
|
|
|
if curl -sf "http://127.0.0.1:${PORTAL_PORT}/auth/status" >/dev/null 2>&1; then
|
|
|
|
|
|
break
|
|
|
|
|
|
fi
|
|
|
|
|
|
sleep 1
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
if ! curl -sf "http://127.0.0.1:${PORTAL_PORT}/auth/status" >/dev/null 2>&1; then
|
|
|
|
|
|
echo "Portal 未就绪 (:${PORTAL_PORT}),Plaza 退出" >&2
|
|
|
|
|
|
exit 1
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
exec "${NODE_BIN}" scripts/start-plaza-prod.mjs -- --skip-build --no-portal
|