添加docker部署方式,优化目前项目结构,更新了readme文件
This commit is contained in:
209
README.md
209
README.md
@@ -1,7 +1,8 @@
|
||||
# TSP智能助手 (TSP Assistant)
|
||||
|
||||
[](version.json)
|
||||
[](requirements.txt)
|
||||
[](version.json)
|
||||
[](requirements.txt)
|
||||
[](Dockerfile)
|
||||
[](LICENSE)
|
||||
[]()
|
||||
|
||||
@@ -42,11 +43,20 @@
|
||||
│ 前端界面 │ │ 后端服务 │ │ 数据存储 │
|
||||
│ │ │ │ │ │
|
||||
│ • 仪表板 │◄──►│ • Flask API │◄──►│ • MySQL DB │
|
||||
│ • 智能对话 │ │ • WebSocket │ │ • 知识库 │
|
||||
│ • Agent管理 │ │ • Agent核心 │ │ • 工单系统 │
|
||||
│ • 数据分析 │ │ • LLM集成 │ │ • 车辆数据 │
|
||||
│ • 备份管理 │ │ • 备份系统 │ │ • SQLite备份 │
|
||||
│ • 智能对话 │ │ • WebSocket │ │ • Redis缓存 │
|
||||
│ • Agent管理 │ │ • Agent核心 │ │ • 知识库 │
|
||||
│ • 数据分析 │ │ • LLM集成 │ │ • 工单系统 │
|
||||
│ • 备份管理 │ │ • 备份系统 │ │ • 车辆数据 │
|
||||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ 监控系统 │
|
||||
│ │
|
||||
│ • Prometheus │
|
||||
│ • Grafana │
|
||||
│ • Nginx代理 │
|
||||
└─────────────────┘
|
||||
```
|
||||
|
||||
## 🎯 核心功能
|
||||
@@ -97,11 +107,12 @@
|
||||
## 🛠️ 技术栈
|
||||
|
||||
### 后端技术
|
||||
- **Python 3.8+**: 核心开发语言
|
||||
- **Flask**: Web框架和API服务
|
||||
- **SQLAlchemy**: ORM数据库操作
|
||||
- **Python 3.11+**: 核心开发语言
|
||||
- **Flask 2.3+**: Web框架和API服务
|
||||
- **SQLAlchemy 2.0+**: ORM数据库操作
|
||||
- **WebSocket**: 实时通信支持
|
||||
- **psutil**: 系统资源监控
|
||||
- **Redis**: 缓存和会话管理
|
||||
|
||||
### 前端技术
|
||||
- **Bootstrap 5**: UI框架
|
||||
@@ -114,21 +125,74 @@
|
||||
- **TF-IDF**: 文本向量化
|
||||
- **余弦相似度**: 语义相似度计算
|
||||
- **Agent框架**: 智能任务规划
|
||||
- **Transformers**: 预训练模型支持
|
||||
|
||||
### 部署运维
|
||||
- **Docker**: 容器化部署
|
||||
- **Docker Compose**: 多服务编排
|
||||
- **Nginx**: 反向代理和静态文件服务
|
||||
- **Systemd**: 服务管理
|
||||
- **Git**: 版本控制
|
||||
- **Prometheus**: 监控数据收集
|
||||
- **Grafana**: 监控仪表板
|
||||
- **MySQL 8.0**: 主数据库
|
||||
- **Redis 7**: 缓存服务
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 环境要求
|
||||
- Python 3.8+
|
||||
|
||||
#### Docker部署(推荐)
|
||||
- Docker 20.10+
|
||||
- Docker Compose 2.0+
|
||||
- 4GB+ 可用内存
|
||||
- 10GB+ 可用磁盘空间
|
||||
|
||||
#### 本地部署
|
||||
- Python 3.11+
|
||||
- Node.js 16+ (可选,用于前端构建)
|
||||
- MySQL 8.0+ 或 SQLite
|
||||
- Redis 7+ (可选)
|
||||
- Git
|
||||
|
||||
### 安装步骤
|
||||
### 🐳 Docker部署(推荐)
|
||||
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone http://jeason.online:3000/zhaojie/assist.git
|
||||
cd assist
|
||||
```
|
||||
|
||||
2. **一键启动所有服务**
|
||||
```bash
|
||||
# 使用部署脚本
|
||||
chmod +x scripts/docker_deploy.sh
|
||||
./scripts/docker_deploy.sh start
|
||||
|
||||
# 或直接使用docker-compose
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
3. **访问系统**
|
||||
- **TSP助手**: http://localhost:5000
|
||||
- **Nginx代理**: http://localhost
|
||||
- **Prometheus监控**: http://localhost:9090
|
||||
- **Grafana仪表板**: http://localhost:3000 (admin/admin123456)
|
||||
|
||||
4. **服务管理**
|
||||
```bash
|
||||
# 查看服务状态
|
||||
./scripts/docker_deploy.sh status
|
||||
|
||||
# 查看日志
|
||||
./scripts/docker_deploy.sh logs tsp-assistant
|
||||
|
||||
# 停止服务
|
||||
./scripts/docker_deploy.sh stop
|
||||
|
||||
# 重启服务
|
||||
./scripts/docker_deploy.sh restart
|
||||
```
|
||||
|
||||
### 💻 本地部署
|
||||
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
@@ -251,10 +315,11 @@ python scripts/update_manager.py auto-update --source ./new_version --environmen
|
||||
|
||||
## 🔧 配置说明
|
||||
|
||||
### 环境变量
|
||||
### Docker环境变量
|
||||
```bash
|
||||
# 数据库配置
|
||||
DATABASE_URL=sqlite:///tsp_assistant.db
|
||||
DATABASE_URL=mysql+pymysql://tsp_user:tsp_password@mysql:3306/tsp_assistant?charset=utf8mb4
|
||||
REDIS_URL=redis://redis:6379/0
|
||||
|
||||
# LLM配置
|
||||
LLM_PROVIDER=openai
|
||||
@@ -265,13 +330,35 @@ LLM_MODEL=gpt-3.5-turbo
|
||||
SERVER_PORT=5000
|
||||
WEBSOCKET_PORT=8765
|
||||
LOG_LEVEL=INFO
|
||||
TZ=Asia/Shanghai
|
||||
```
|
||||
|
||||
### Docker服务配置
|
||||
|
||||
#### 主要服务
|
||||
- **tsp-assistant**: 主应用服务 (端口: 5000, 8765)
|
||||
- **mysql**: MySQL数据库 (端口: 3306)
|
||||
- **redis**: Redis缓存 (端口: 6379)
|
||||
- **nginx**: 反向代理 (端口: 80, 443)
|
||||
|
||||
#### 监控服务
|
||||
- **prometheus**: 监控数据收集 (端口: 9090)
|
||||
- **grafana**: 监控仪表板 (端口: 3000)
|
||||
|
||||
#### 数据卷
|
||||
- `mysql_data`: MySQL数据持久化
|
||||
- `redis_data`: Redis数据持久化
|
||||
- `prometheus_data`: Prometheus数据持久化
|
||||
- `grafana_data`: Grafana配置和数据持久化
|
||||
|
||||
### 配置文件
|
||||
- `config/llm_config.py`: LLM客户端配置
|
||||
- `config/integrations_config.json`: 飞书集成配置
|
||||
- `update_config.json`: 更新管理器配置
|
||||
- `version.json`: 版本信息配置
|
||||
- `nginx.conf`: Nginx反向代理配置
|
||||
- `monitoring/prometheus.yml`: Prometheus监控配置
|
||||
- `init.sql`: 数据库初始化脚本
|
||||
- `docker-compose.yml`: Docker服务编排配置
|
||||
- `Dockerfile`: 应用镜像构建配置
|
||||
|
||||
## 🤝 贡献指南
|
||||
|
||||
@@ -290,6 +377,18 @@ LOG_LEVEL=INFO
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
### v2.0.0 (2025-09-22) - Docker环境全面升级
|
||||
- 🐳 **Docker环境重构**: 升级到Python 3.11,优化镜像构建
|
||||
- 🐳 **多服务编排**: MySQL 8.0 + Redis 7 + Nginx + Prometheus + Grafana
|
||||
- 🐳 **监控系统**: 集成Prometheus监控和Grafana仪表板
|
||||
- 🐳 **安全增强**: 非root用户运行,数据卷隔离
|
||||
- 🐳 **部署脚本**: 一键部署脚本,支持启动/停止/重启/清理
|
||||
- 🔧 **知识库搜索修复**: 简化搜索算法,提升检索准确率
|
||||
- 🔧 **批量删除优化**: 修复外键约束和缓存问题
|
||||
- 🔧 **日志编码修复**: 解决中文乱码问题
|
||||
- 📊 **可视化增强**: 修复预警、性能、满意度图表显示
|
||||
- 📚 **文档更新**: 完整的Docker部署和使用指南
|
||||
|
||||
### v1.4.0 (2025-09-19)
|
||||
- ✅ 飞书集成功能:支持飞书多维表格数据同步
|
||||
- ✅ 页面功能合并:飞书同步页面合并到主仪表板
|
||||
@@ -324,11 +423,87 @@ LOG_LEVEL=INFO
|
||||
|
||||
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
|
||||
|
||||
## 🔧 故障排除
|
||||
|
||||
### Docker部署问题
|
||||
|
||||
#### 常见问题
|
||||
1. **端口冲突**
|
||||
```bash
|
||||
# 检查端口占用
|
||||
netstat -tulpn | grep :5000
|
||||
# 修改docker-compose.yml中的端口映射
|
||||
```
|
||||
|
||||
2. **内存不足**
|
||||
```bash
|
||||
# 检查Docker资源使用
|
||||
docker stats
|
||||
# 增加Docker内存限制或关闭其他服务
|
||||
```
|
||||
|
||||
3. **数据库连接失败**
|
||||
```bash
|
||||
# 检查MySQL服务状态
|
||||
docker-compose logs mysql
|
||||
# 等待数据库完全启动(约30秒)
|
||||
```
|
||||
|
||||
4. **权限问题**
|
||||
```bash
|
||||
# 给脚本添加执行权限
|
||||
chmod +x scripts/docker_deploy.sh
|
||||
# 检查文件权限
|
||||
ls -la scripts/
|
||||
```
|
||||
|
||||
#### 日志查看
|
||||
```bash
|
||||
# 查看所有服务日志
|
||||
docker-compose logs -f
|
||||
|
||||
# 查看特定服务日志
|
||||
docker-compose logs -f tsp-assistant
|
||||
docker-compose logs -f mysql
|
||||
docker-compose logs -f redis
|
||||
```
|
||||
|
||||
#### 服务重启
|
||||
```bash
|
||||
# 重启特定服务
|
||||
docker-compose restart tsp-assistant
|
||||
|
||||
# 重启所有服务
|
||||
docker-compose down && docker-compose up -d
|
||||
```
|
||||
|
||||
### 性能优化
|
||||
|
||||
#### Docker资源限制
|
||||
```yaml
|
||||
# 在docker-compose.yml中添加资源限制
|
||||
services:
|
||||
tsp-assistant:
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 2G
|
||||
cpus: '1.0'
|
||||
```
|
||||
|
||||
#### 数据库优化
|
||||
```sql
|
||||
-- MySQL性能优化
|
||||
SET GLOBAL innodb_buffer_pool_size = 1G;
|
||||
SET GLOBAL max_connections = 200;
|
||||
```
|
||||
|
||||
## 📞 支持与联系
|
||||
|
||||
- **项目地址**: http://jeason.online:3000/zhaojie/assist
|
||||
- **问题反馈**: 请在Issues中提交问题
|
||||
- **功能建议**: 欢迎提交Feature Request
|
||||
- **Docker问题**: 请提供docker-compose logs输出
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
|
||||
Reference in New Issue
Block a user