# 智能算法展示平台 - 运行指南 ## 系统要求 - Docker 和 Docker Compose - 或者 Python 3.8+ 和 Node.js 18+ ## 部署选项 ### 选项1:Docker Compose 部署(推荐) #### 完整部署(适用于网络良好环境) ```bash # 进入部署目录 cd deploy # 运行部署脚本 ./deploy.sh ``` #### 网络受限环境部署 ```bash # 手动拉取镜像 docker pull postgres:14-alpine docker pull redis:7-alpine docker pull minio/minio:latest docker pull python:3.9-slim docker pull node:18-alpine # 使用预拉取镜像的Compose文件 docker-compose -f compose-without-build.yml up -d ``` ### 选项2:本地开发模式 #### 后端服务 ```bash # 进入后端目录 cd backend # 安装依赖 pip install -r requirements.txt # 启动服务 uvicorn app.main:app --reload ``` #### 前端服务 ```bash # 进入前端目录 cd frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ## 服务地址 部署完成后,可通过以下地址访问服务: - **前端应用**: http://localhost:3000 - **后端API**: http://localhost:8000 - **API文档**: http://localhost:8000/docs - **MinIO控制台**: http://localhost:9001 (admin/minioadmin) - **PostgreSQL**: localhost:5432 - **Redis**: localhost:6379 ## 环境配置 ### Docker环境变量 创建 `.env` 文件: ```bash # 在 deploy 目录下创建 .env 文件 OPENAI_API_KEY=your_openai_api_key_here SECRET_KEY=your_secret_key_here ``` ### 本地开发环境变量 在本地开发时,可以创建 `.env` 文件: ```bash # backend/.env DATABASE_URL=postgresql://admin:password@localhost:5432/algorithm_db REDIS_URL=redis://localhost:6379/0 MINIO_ENDPOINT=localhost:9000 MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_BUCKET_NAME=algorithm-data MINIO_SECURE=false OPENAI_API_KEY=your_openai_api_key_here SECRET_KEY=your_secret_key_here ALGORITHM=HS256 ACCESS_TOKEN_EXPIRE_MINUTES=30 ``` ```bash # frontend/.env VITE_API_BASE_URL=http://localhost:8000/api ``` ## 验证部署 ### 检查服务状态 ```bash # Docker Compose 环境 docker-compose -f docker-compose-full.yml ps # 检查特定服务日志 docker-compose -f docker-compose-full.yml logs backend docker-compose -f docker-compose-full.yml logs frontend ``` ### API测试 ```bash # 测试健康检查 curl http://localhost:8000/health # 测试算法API curl http://localhost:8000/api/v1/algorithms # 测试API文档 open http://localhost:8000/docs ``` ## 常用命令 ### Docker Compose 管理 ```bash # 启动所有服务 docker-compose -f docker-compose-full.yml up -d # 停止所有服务 docker-compose -f docker-compose-full.yml down # 重建并启动服务 docker-compose -f docker-compose-full.yml up -d --build # 查看服务日志 docker-compose -f docker-compose-full.yml logs -f # 重启特定服务 docker-compose -f docker-compose-full.yml restart backend ``` ### 本地开发 ```bash # 后端开发 cd backend uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 # 前端开发 cd frontend npm run dev -- --host 0.0.0.0 --port 3000 ``` ## 故障排除 如果遇到问题,请参考 [TROUBLESHOOTING.md](TROUBLESHOOTING.md) 文档。 ## 清理部署 ```bash # 停止并删除所有容器 docker-compose -f docker-compose-full.yml down # 删除卷(会清除所有数据) docker-compose -f docker-compose-full.yml down -v # 清理未使用的Docker资源 docker system prune -a ``` ## 性能调优 ### Docker资源限制 可以在 `docker-compose.yml` 中添加资源限制: ```yaml services: backend: # ... 其他配置 deploy: resources: limits: cpus: '1.0' memory: 2G reservations: cpus: '0.5' memory: 1G ``` ### 环境特定配置 根据部署环境调整配置: - **开发环境**: 使用较低的资源限制,启用热重载 - **测试环境**: 适度的资源配置,禁用不必要的日志 - **生产环境**: 充足的资源,启用监控和日志聚合