Chatopera/Cosin 项目 Docker Compose 部署指南
2025-07-10 06:06:31作者:尤峻淳Whitney
概述
本文将详细介绍如何使用 Docker Compose 部署 Chatopera/Cosin 项目。Cosin 是一个基于 Spring Boot 开发的智能客服系统,提供了完整的客服功能解决方案。通过 Docker Compose 可以快速搭建包含所有依赖服务的完整运行环境。
核心服务架构
Cosin 系统由以下几个核心组件构成:
- Contact Center:主服务,提供客服系统核心功能
- MySQL:存储系统数据
- Redis:缓存服务
- ActiveMQ:消息队列服务
部署配置详解
1. 主服务配置 (contact-center)
主服务是客服系统的核心,基于 Spring Boot 开发,配置项丰富:
contact-center:
image: ${CC_IMAGE:-cskefu/contact-center:develop}
restart: always
ports:
- "${CC_WEB_PORT:-8035}:8035" # Web管理界面端口
- "${CC_SOCKET_PORT:-8036}:8036" # WebSocket端口
关键配置说明:
- JVM 参数:配置了 JVM 内存设置,默认最大堆内存 12GB,初始堆内存 2GB
- 日志配置:日志级别默认为 WARN,日志路径映射到宿主机
- 数据库连接:使用 MySQL 作为主数据库
- Redis 配置:用于缓存和会话管理
- ActiveMQ 配置:用于异步消息处理
- 功能模块开关:可配置是否启用外呼、联系人、聊天机器人等模块
2. MySQL 服务配置
mysql:
image: cskefu/mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=${DB_PASSWD:-123456}
ports:
- "${MYSQL_PORT:-8037}:3306"
特点:
- 使用 MySQL 5.7 版本
- 默认 root 密码可通过环境变量配置
- 数据目录映射到宿主机,确保数据持久化
- 配置了较大的 max_allowed_packet 参数,适合处理大容量数据
3. Redis 服务配置
redis:
image: cskefu/redis:5.0.5
environment:
- REDIS_PASSWORD=${DB_PASSWD:-123456}
特点:
- 使用 Redis 5.0.5 版本
- 配置了密码保护
- 数据目录映射到宿主机
4. ActiveMQ 服务配置
activemq:
image: cskefu/activemq:5.14.3
environment:
- ACTIVEMQ_ADMIN_PASSWORD=${DB_PASSWD:-123456}
特点:
- 使用 ActiveMQ 5.14.3 版本
- 配置了管理控制台密码
- 开放了多个端口用于不同协议的消息传输
环境变量配置
部署时可以通过环境变量自定义多个参数:
- CC_IMAGE:指定 contact-center 使用的镜像版本
- CC_WEB_PORT:Web 管理界面端口
- CC_SOCKET_PORT:WebSocket 端口
- DB_PASSWD:数据库密码(统一用于 MySQL、Redis、ActiveMQ)
- LOG_LEVEL:日志级别控制
- CACHE_SETUP_STRATEGY:缓存初始化策略
部署建议
-
硬件要求:
- 建议至少 16GB 内存
- 50GB 以上磁盘空间
- 多核 CPU
-
网络配置:
- 确保各服务端口未被占用
- 生产环境建议配置 HTTPS
-
数据持久化:
- 所有数据目录都已映射到宿主机
- 定期备份映射目录中的数据
-
性能调优:
- 根据实际负载调整 JVM 内存参数
- 监控 Redis 和 MySQL 性能指标
常见问题处理
- 端口冲突:修改对应服务的端口映射配置
- 内存不足:调整 JVM 参数和容器内存限制
- 数据库连接问题:检查 MySQL 服务是否正常启动
- 缓存异常:检查 Redis 服务状态和连接配置
总结
通过 Docker Compose 部署 Chatopera/Cosin 项目可以快速搭建完整的客服系统环境。本文详细介绍了各服务的配置项和相互关系,帮助开发者理解系统架构并进行定制化部署。实际部署时应根据业务需求和硬件条件调整相关参数,特别是 JVM 内存设置和数据库配置。