Files
zk-data-agent/scripts/start-frontend.sh
2026-05-07 13:00:53 +08:00

39 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Ubuntu/systemd 前端启动入口。
# 运行生产构建后的 Next.js 服务;开发调试继续使用 scripts/start-webui.sh。
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ENV_FILE="${ROOT_DIR}/.env.deploy"
if [[ -f "${ENV_FILE}" ]]; then
# shellcheck disable=SC1090
source "${ENV_FILE}"
else
echo "Missing deploy config: ${ENV_FILE}" >&2
echo "Run: bash scripts/deploy-ubuntu.sh" >&2
exit 1
fi
BACKEND_HOST="${CLAW_BACKEND_HOST:-127.0.0.1}"
BACKEND_PORT="${CLAW_BACKEND_PORT:-8765}"
FRONTEND_HOST="${CLAW_FRONTEND_HOST:-0.0.0.0}"
FRONTEND_PORT="${CLAW_FRONTEND_PORT:-3000}"
NPM_BIN="${CLAW_NPM_BIN:-$(command -v npm || true)}"
if [[ -n "${CLAW_NODE_BIN_DIR:-}" ]]; then
export PATH="${CLAW_NODE_BIN_DIR}:${PATH}"
fi
if [[ -z "${NPM_BIN}" || ! -x "${NPM_BIN}" ]]; then
echo "npm not found for frontend service." >&2
echo "Run deploy again from a shell where npm is available: bash scripts/deploy-ubuntu.sh" >&2
exit 1
fi
export CLAW_API_URL="${CLAW_API_URL:-http://${BACKEND_HOST}:${BACKEND_PORT}}"
cd "${ROOT_DIR}/frontend/app"
exec "${NPM_BIN}" run start -- --hostname "${FRONTEND_HOST}" --port "${FRONTEND_PORT}"