#!/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 export H5_PUBLIC_BASE_URL="https://m.tkmind.cn" PORTAL_PORT="${H5_PORT:-8081}" PLAZA_PORT="${PLAZA_PORT:-3001}" NODE_BIN="${NODE_BIN:-/opt/homebrew/opt/node@24/bin/node}" 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