fix(sdk): run.sh source .env + BIND host env 化(BFF_BIND_HOST)

- source .env 进 os.environ:neo4j.py 的 BFF_NEO4J_* 键与上游 URL 依赖
  进程 env,仅靠 pydantic env_file 不够(175 重启卡点实测)
- BIND host env 化:默认 127.0.0.1(176 生产,nginx 80 唯一入口);
  175 开发在 sdk/.env 设 BFF_BIND_HOST=0.0.0.0
- 一份脚本两机通用,下次打包部署 176 不会把 BFF 暴露到 0.0.0.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-17 14:45:01 +08:00
co-authored by Claude Fable 5
parent f10b86c088
commit 964346dc77
+15 -2
View File
@@ -1,12 +1,25 @@
#!/usr/bin/env bash
# run.sh —— 本地起 BFF(ARCHITECTURE.md §3:127.0.0.1:8090,nginx 80 为唯一客户入口)。
# 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,一份脚本两机通用)
set -euo pipefail
cd "$(dirname "$0")"
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 127.0.0.1 --port "$PORT"
if [[ -f ./.env ]]; then
set -a
# shellcheck disable=SC1091
. ./.env
set +a
fi
exec "$PYTHON" -m uvicorn app.main:app --host "$BIND" --port "$PORT"