# Trandsai **Repository Path**: liangwater/trandsai ## Basic Information - **Project Name**: Trandsai - **Description**: trandsai的项目现在是私有的 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-09 - **Last Updated**: 2026-09-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TrandsAI 部署指南 ## 项目简介 TrandsAI 是一个基于 AI 的智能服务系统,包含前端页面、后端 API、PostgreSQL 数据库和 Redis 缓存。 ## 系统架构 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Nginx │────▶│ Backend │────▶│ PostgreSQL │ │ (前端/静态) │ │ (FastAPI) │ │ (数据库) │ └─────────────┘ └──────┬──────┘ └─────────────┘ │ ▼ ┌─────────────┐ │ Redis │ │ (缓存) │ └─────────────┘ ``` ## 服务说明 | 服务 | 容器名 | 端口 | 说明 | |------|--------|------|------| | Nginx | trandsai-nginx | 80, 443 | 反向代理 + 静态资源 | | Backend | trandsai-backend | 8000(容器内;经 Nginx 反代) | FastAPI 后端服务 | | PostgreSQL | postgres_trandsai | 主机 55438 → 容器 5432 | 数据库 | | Redis | trandsai-redis | 主机 56379 → 容器 6379 | 缓存 + 消息队列 | ## 环境要求 - Docker 20.10+ - Docker Compose 2.0+ - 至少 2GB 可用内存 ## 快速开始 ### 1. 克隆项目 ```bash git clone cd trandsai ``` ### 2. 配置环境变量 复制并编辑 `.env` 文件: ```bash cp .env.example .env # 编辑 .env 文件,填入你的 API 密钥和配置 ``` ### 3. 构建基础镜像 首次部署或依赖更新时,需要先构建基础镜像: ```bash # 构建 trandsai-base 基础镜像 docker build -f Dockerfile.base -t trandsai-base:v1 . ``` ### 4. 启动服务 ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f ``` ### 5. 访问服务 - 前端页面:http://localhost - 后端 API:http://localhost:8000 - API 文档:http://localhost:8000/docs ## 常用命令 ### 服务管理 ```bash # 启动服务 docker-compose up -d # 停止服务 docker-compose down # 重启服务 docker-compose restart # 重启单个服务 docker-compose restart backend # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f docker-compose logs -f backend # 查看特定服务日志 ``` ### 镜像管理 ```bash # 重新构建基础镜像(依赖更新后) docker-compose rm -f backend docker build -f Dockerfile.base -t trandsai-base:v1 . docker-compose up -d backend --build # 重新构建并启动 docker-compose up -d --build ``` ### 数据库操作 ```bash # 进入 PostgreSQL 命令行 docker-compose exec postgres psql -U trandsai -d trandsai # 备份数据库 docker-compose exec postgres pg_dump -U trandsai trandsai > backup.sql # 恢复数据库 docker-compose exec -T postgres psql -U trandsai trandsai < backup.sql ``` ### Redis 操作 ```bash # 进入 Redis 命令行 docker-compose exec redis redis-cli # 查看 Redis 键 docker-compose exec redis redis-cli KEYS "*" ``` ## 目录结构 ``` trandsai/ ├── docker-compose.yml # Docker Compose 配置 ├── Dockerfile # 后端服务镜像(基于 trandsai-base) ├── Dockerfile.base # 基础镜像(包含依赖) ├── .env # 环境变量配置 ├── nginx.conf # Nginx 配置 ├── requirements.txt # Python 依赖 ├── server/ # 后端代码 ├── page/ # 前端静态文件 │ ├── frontend/ # 前端页面 │ ├── admin/ # 管理后台 │ ├── file/ # 文件服务 │ └── agreement/ # 协议页面 └── data/ # 数据目录 ``` ## 环境变量说明 ### 数据库配置 ```env POSTGRES_USER=trandsai # 数据库用户名 POSTGRES_PASSWORD=trandsai123 # 数据库密码 POSTGRES_DB=trandsai # 数据库名 DATABASE_URL=postgresql://trandsai:trandsai123@postgres:5432/trandsai ``` ### Redis 配置 ```env REDIS_URL=redis://redis:6379/0 # Redis 连接地址 ARQ_REDIS_URL=redis://redis:6379/1 # ARQ 任务队列 ``` ### AI 模型配置 ```env DEEPSEEK_API_KEY=sk-xxx # DeepSeek API 密钥 GOOGLE_API_KEY=xxx # Google AI API 密钥 DASHSCOPE_API_KEY=sk-xxx # 阿里云百炼 API 密钥 ``` ## 故障排查 ### 服务无法启动 ```bash # 查看详细日志 docker-compose logs # 检查容器状态 docker-compose ps # 检查端口占用 netstat -tulpn | grep -E '80|443|8000|5432|6379' ``` ### 数据库连接失败 ```bash # 检查 PostgreSQL 是否就绪 docker-compose exec postgres pg_isready -U trandsai # 测试连接 docker-compose exec postgres psql -U trandsai -d trandsai -c "SELECT 1;" ``` ### Redis 连接失败 ```bash # 检查 Redis 是否运行 docker-compose exec redis redis-cli ping # 查看 Redis 日志 docker-compose logs redis ``` ## 更新部署 ```bash # 1. 拉取最新代码 git pull # 2. 重新构建基础镜像(如果有依赖更新) docker build -f Dockerfile.base -t trandsai-base:v1 . # 3. 重启服务 docker-compose down docker-compose up -d # 4. 查看日志确认启动正常 docker-compose logs -f ``` ## 备份与恢复 ### 备份 ```bash # 备份数据库 docker-compose exec postgres pg_dump -U trandsai trandsai > backup_$(date +%Y%m%d).sql # 备份 Redis docker-compose exec redis redis-cli BGSAVE docker cp trandsai-redis:/data/dump.rdb ./redis_backup_$(date +%Y%m%d).rdb ``` ### 恢复 ```bash # 恢复数据库 docker-compose exec -T postgres psql -U trandsai trandsai < backup.sql # 恢复 Redis docker cp redis_backup.rdb trandsai-redis:/data/dump.rdb docker-compose restart redis ``` ## 安全建议 1. **修改默认密码**:生产环境务必修改 `.env` 中的数据库密码 2. **限制端口访问**:生产环境建议只暴露 80/443 端口 3. **启用 HTTPS**:配置 SSL 证书到 `page/cert/` 目录 4. **定期备份**:建议每天自动备份数据库 ## 许可证 [待定]