#!/usr/bin/env bash # 本地直接拉起后端(不用 docker) # 用法: ./run_local.sh # 默认 0.0.0.0:8000 # PORT=8010 ./run_local.sh # 指定端口 set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "${ROOT}/backend" PORT="${PORT:-8000}" PY="${PY:-${ROOT}/.venv/bin/python}" # 同步前端 dist(若后端 dist 落后于仓库根 dist) if [ -d "${ROOT}/dist" ]; then mkdir -p dist cp -r "${ROOT}/dist/." dist/ echo "✓ 已同步前端 dist → backend/dist" fi echo "启动后端: http://0.0.0.0:${PORT} (python: ${PY})" exec "${PY}" -m uvicorn main:app --host 0.0.0.0 --port "${PORT}" --log-level info