#!/bin/bash # 开发环境启动脚本 # 同时启动 FastAPI 和 Spectator Server set -e if [ -f .env ]; then echo "加载 .env 文件中的环境变量..." set -a source .env set +a else echo ".env 文件未找到,跳过加载环境变量。" fi echo "🚀 启动开发环境..." # 启动 FastAPI 服务器 echo "启动 FastAPI 服务器..." cd /workspaces/osu_lazer_api uv run uvicorn main:app --host 0.0.0.0 --port 8000 --reload & FASTAPI_PID=$! # 启动 Spectator Server echo "启动 Spectator Server..." cd /workspaces/osu_lazer_api/spectator-server dotnet run --project osu.Server.Spectator --urls "http://0.0.0.0:8086" & SPECTATOR_PID=$! echo "✅ 服务已启动:" echo " - FastAPI: http://localhost:8000" echo " - Spectator Server: http://localhost:8086" echo " - Nginx (统一入口): http://localhost:8080" echo "" echo "按 Ctrl+C 停止所有服务" # 等待用户中断 trap 'echo "🛑 正在停止服务..."; kill $FASTAPI_PID $SPECTATOR_PID; exit 0' INT # 保持脚本运行 wait