#!/usr/bin/env bash # run.sh —— 本地起 BFF(ARCHITECTURE.md §3:176 生产 127.0.0.1:8090,nginx 80 唯一客户入口; # 175 开发 0.0.0.0:8090 便于直连)。 # 用法:bash sdk/run.sh # 2026-09-01 统一 Python:conda plantai-bff → plantai-rag-new-venv(py3.12.13) # 2026-09-17:①source .env 进 os.environ(neo4j.py 的 BFF_NEO4J_* 键与上游 URL 依赖 # 进程 env;仅靠 pydantic env_file 不够);②BIND host env 化(BFF_BIND_HOST, # 175 开发默认 0.0.0.0、176 生产默认 127.0.0.1,一份脚本两机通用)。 # 注意:PORT/PYTHON/BIND 必须在 source .env 之后读取,否则 .env 覆盖失效。 set -euo pipefail cd "$(dirname "$0")" if [[ -f ./.env ]]; then set -a # shellcheck disable=SC1091 . ./.env set +a fi PORT="${PORT:-8090}" PYTHON="${PLANTAI_BFF_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}" BIND="${BFF_BIND_HOST:-127.0.0.1}" [[ -x "$PYTHON" ]] || { echo "run.sh: 统一 venv 不可执行: $PYTHON" >&2; exit 1; } exec "$PYTHON" -m uvicorn app.main:app --host "$BIND" --port "$PORT"