From eac10a9d95a539a7a8b2d7a074aacd918f66e25c Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 17 Mar 2026 17:29:34 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=B7=BB=E5=8A=A0=E4=B8=80=E9=94=AE?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 start.sh 启动脚本 - 支持前端、后端一键启动 - 支持自定义端口配置 Co-Authored-By: Claude Opus 4.6 --- start.sh | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 start.sh diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..5e24ac5 --- /dev/null +++ b/start.sh @@ -0,0 +1,71 @@ +#!/bin/bash + +# YG-Datasets 一键启动脚本 + +echo "=========================================" +echo " YG-Datasets 一键启动" +echo "=========================================" + +# 颜色定义 +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# 检查并创建必要目录 +echo -e "${YELLOW}[1/5] 检查环境...${NC}" +mkdir -p backend/uploads +mkdir -p frontend + +# 创建并激活 Python 虚拟环境 +echo -e "${YELLOW}[2/5] 创建 Python 虚拟环境...${NC}" +cd backend +if [ ! -d "venv" ]; then + python3 -m venv venv +fi +source venv/bin/activate + +# 安装后端依赖 +echo -e "${YELLOW}[3/5] 安装后端依赖...${NC}" +pip install -r requirements.txt + +# 安装前端依赖 +echo -e "${YELLOW}[4/5] 安装前端依赖...${NC}" +cd ../frontend +if [ ! -d "node_modules" ]; then + npm install +fi + +# 启动后端 +echo -e "${YELLOW}[5/5] 启动服务...${NC}" +cd ../backend +echo -e "${GREEN}启动后端 (端口 8000)...${NC}" +export HOST="0.0.0.0" +export DATABASE_URL="sqlite+aiosqlite:///./ygdataset.db" +uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 & +BACKEND_PID=$! + +# 等待后端启动 +sleep 3 + +# 启动前端 +cd ../frontend +echo -e "${GREEN}启动前端 (端口 3000)...${NC}" +npm run dev -- --host 0.0.0.0 & +FRONTEND_PID=$! + +echo "" +echo "=========================================" +echo -e " ${GREEN}启动完成!${NC}" +echo "=========================================" +echo " 后端: http://localhost:8000" +echo " API文档: http://localhost:8000/docs" +echo " 前端: http://localhost:3000" +echo "" +echo " 按 Ctrl+C 停止所有服务" +echo "=========================================" + +# 捕获 Ctrl+C 并停止所有服务 +trap "kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit" INT TERM + +# 等待 +wait