Files
smart-customer-service/DEPLOYMENT.md
Ubuntu c68ea3b600 feat: 智能客服系统基础架构完成
 已完成功能:
1. 项目基础设施和Docker开发环境
2. 前端React 18 + TypeScript架构
3. 后端Golang + Gin框架
4. 多租户数据库设计
5. 完整API路由系统
6. 智能客服聊天界面
7. 详细文档和部署指南

🔧 技术栈:
- 前端:React 18, TypeScript, Vite, Zustand
- 后端:Golang, Gin, GORM, PostgreSQL
- 部署:Docker, Docker Compose

🎨 设计规范:
- 无渐变色,无紫色
- 简洁专业的中性色系
- 响应式布局

📊 状态:
- 前端开发服务器:http://localhost:5173
- 后端API服务:http://localhost:8080
- 数据库:PostgreSQL + Redis
- 完整的多租户架构

作者:小弟 (大哥的AI助手)
日期:2026-02-27
2026-02-27 17:00:15 +08:00

5.8 KiB
Raw Blame History

智能客服系统 - 部署指南

🚀 快速部署

前提条件

  • Docker 20.10+
  • Docker Compose 2.0+
  • Node.js 18+ (仅开发需要)
  • Go 1.21+ (仅开发需要)

一键启动

# 克隆项目
git clone https://giter.top/openclaw/smart-customer-service.git
cd smart-customer-service

# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f

访问地址

📦 服务说明

1. 数据库服务 (PostgreSQL)

  • 端口: 5432
  • 数据库: customer_service
  • 用户名: postgres
  • 密码: postgres
  • 数据卷: postgres_data

2. 缓存服务 (Redis)

  • 端口: 6379
  • 数据卷: redis_data

3. 后端服务 (Golang)

  • API端口: 8080
  • WebSocket端口: 8081
  • 环境变量: 见 .env.example

4. 前端服务 (React)

  • 端口: 3000
  • 构建工具: Vite

🔧 环境配置

后端环境变量

创建 .env 文件:

# 服务器配置
SERVER_PORT=8080
SERVER_MODE=debug

# 数据库配置
DB_HOST=postgres
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=customer_service
DB_SSL_MODE=disable

# Redis配置
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0

# JWT配置
JWT_SECRET=your-secret-key-change-in-production
JWT_EXPIRATION=86400

# AI配置
AI_PROVIDER=openai
AI_API_KEY=your-openai-api-key
AI_MODEL=gpt-3.5-turbo
AI_BASE_URL=https://api.openai.com/v1
AI_MAX_TOKENS=1000
AI_TEMPERATURE=0.7

# WebSocket配置
WS_PORT=8081
WS_PATH=/ws

前端环境变量

创建 frontend/.env 文件:

VITE_API_URL=http://localhost:8080
VITE_WS_URL=ws://localhost:8081

🐳 Docker 构建

生产环境构建

# 构建所有镜像
docker-compose -f docker-compose.prod.yml build

# 启动生产环境
docker-compose -f docker-compose.prod.yml up -d

开发环境构建

# 使用开发配置
docker-compose build

# 启动开发环境(热重载)
docker-compose up

📊 数据库管理

初始化数据库

# 进入数据库容器
docker-compose exec postgres psql -U postgres -d customer_service

# 运行迁移脚本
docker-compose exec postgres psql -U postgres -d customer_service -f /docker-entrypoint-initdb.d/001_init_schema.sql

备份数据库

# 备份
docker-compose exec postgres pg_dump -U postgres customer_service > backup_$(date +%Y%m%d).sql

# 恢复
docker-compose exec -T postgres psql -U postgres -d customer_service < backup.sql

🔐 安全配置

1. 修改默认密码

# 修改数据库密码
docker-compose exec postgres psql -U postgres -c "ALTER USER postgres WITH PASSWORD 'new-strong-password';"

# 更新环境变量
sed -i 's/DB_PASSWORD=.*/DB_PASSWORD=new-strong-password/' .env

2. 生成JWT密钥

# 生成随机密钥
openssl rand -base64 32

# 更新环境变量
sed -i 's/JWT_SECRET=.*/JWT_SECRET=generated-secret-key/' .env

3. 启用HTTPS

# nginx配置示例
server {
    listen 443 ssl;
    server_name your-domain.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    location / {
        proxy_pass http://frontend:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location /api {
        proxy_pass http://backend:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
    location /ws {
        proxy_pass http://backend:8081;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

📈 监控和日志

查看日志

# 查看所有服务日志
docker-compose logs

# 实时查看后端日志
docker-compose logs -f backend

# 查看特定时间段的日志
docker-compose logs --since 1h backend

健康检查

# API健康检查
curl http://localhost:8080/health

# 数据库健康检查
docker-compose exec postgres pg_isready -U postgres

# Redis健康检查
docker-compose exec redis redis-cli ping

🔄 更新和升级

更新代码

# 拉取最新代码
git pull origin main

# 重新构建服务
docker-compose build

# 重启服务
docker-compose up -d

数据库迁移

# 创建新的迁移文件
cat > backend/migrations/002_new_feature.sql << 'EOF'
-- 新功能迁移脚本
ALTER TABLE users ADD COLUMN new_column VARCHAR(100);
EOF

# 应用迁移
docker-compose exec postgres psql -U postgres -d customer_service -f /docker-entrypoint-initdb.d/002_new_feature.sql

🚨 故障排除

常见问题

1. 端口冲突

# 检查端口占用
sudo lsof -i :3000
sudo lsof -i :8080

# 修改docker-compose.yml中的端口映射

2. 数据库连接失败

# 检查数据库服务状态
docker-compose ps postgres

# 检查数据库日志
docker-compose logs postgres

# 手动测试连接
docker-compose exec postgres psql -U postgres -c "\l"

3. 内存不足

# 查看容器资源使用
docker stats

# 限制容器内存
# 在docker-compose.yml中添加
# services:
#   backend:
#     mem_limit: 512m

4. 构建失败

# 清理Docker缓存
docker system prune -a

# 重新构建
docker-compose build --no-cache

📞 支持

获取帮助

紧急恢复

# 停止所有服务
docker-compose down

# 删除所有数据(谨慎操作!)
docker-compose down -v

# 重新启动
docker-compose up -d

最后更新: 2026-02-27
维护者: 小弟 (大哥的AI助手)
仓库: https://giter.top/openclaw/smart-customer-service