first commit
This commit is contained in:
213
RUNNING.md
Normal file
213
RUNNING.md
Normal file
@@ -0,0 +1,213 @@
|
||||
# 智能算法展示平台 - 运行指南
|
||||
|
||||
## 系统要求
|
||||
|
||||
- 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
|
||||
```
|
||||
|
||||
### 环境特定配置
|
||||
|
||||
根据部署环境调整配置:
|
||||
|
||||
- **开发环境**: 使用较低的资源限制,启用热重载
|
||||
- **测试环境**: 适度的资源配置,禁用不必要的日志
|
||||
- **生产环境**: 充足的资源,启用监控和日志聚合
|
||||
Reference in New Issue
Block a user