chore(ports): Streamlit 端口参数化(默认8502)并修正启动提示

This commit is contained in:
Tony Zhang
2025-12-17 09:53:29 +08:00
parent da721ad8e2
commit 81a4faabf5
2 changed files with 81 additions and 0 deletions

52
scripts/start-dev.sh Executable file
View File

@@ -0,0 +1,52 @@
#!/bin/bash
# Video Flow - 开发环境启动脚本
set -e
echo "🚀 启动 Video Flow 开发环境..."
# 检查 Redis
if ! command -v redis-cli &> /dev/null; then
echo "⚠️ Redis 未安装,使用 Docker 启动..."
docker run -d --name video-flow-redis -p 6379:6379 redis:7-alpine 2>/dev/null || true
fi
# 启动后端 API (后台)
echo "📡 启动 FastAPI 后端 (port 8000)..."
cd "$(dirname "$0")/.."
uvicorn api.main:app --host 0.0.0.0 --port 8000 --reload &
API_PID=$!
# 启动 Celery Worker (后台)
echo "⚙️ 启动 Celery Worker..."
celery -A api.celery_app worker --loglevel=info --concurrency=2 &
WORKER_PID=$!
# 启动前端 (后台)
echo "🌐 启动 React 前端 (port 3000)..."
cd web
npm install
npm run dev &
WEB_PID=$!
# 启动 Streamlit (后台)
STREAMLIT_PORT="${STREAMLIT_PORT:-8502}"
echo "📊 启动 Streamlit 调试界面 (port ${STREAMLIT_PORT})..."
cd ..
streamlit run app.py --server.port "${STREAMLIT_PORT}" &
STREAMLIT_PID=$!
echo ""
echo "✅ 所有服务已启动!"
echo ""
echo "📌 访问地址:"
echo " - 视频编辑器: http://localhost:3000"
echo " - API 文档: http://localhost:8000/api/docs"
echo " - 工作流控制台: http://localhost:${STREAMLIT_PORT}"
echo ""
echo "按 Ctrl+C 停止所有服务"
# 等待并处理退出
trap "kill $API_PID $WORKER_PID $WEB_PID $STREAMLIT_PID 2>/dev/null" EXIT
wait