首页
/ Chatopera/Cosin 项目 Docker Compose 部署指南

Chatopera/Cosin 项目 Docker Compose 部署指南

2025-07-10 06:06:31作者:尤峻淳Whitney

概述

本文将详细介绍如何使用 Docker Compose 部署 Chatopera/Cosin 项目。Cosin 是一个基于 Spring Boot 开发的智能客服系统,提供了完整的客服功能解决方案。通过 Docker Compose 可以快速搭建包含所有依赖服务的完整运行环境。

核心服务架构

Cosin 系统由以下几个核心组件构成:

  1. Contact Center:主服务,提供客服系统核心功能
  2. MySQL:存储系统数据
  3. Redis:缓存服务
  4. 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:缓存初始化策略

部署建议

  1. 硬件要求

    • 建议至少 16GB 内存
    • 50GB 以上磁盘空间
    • 多核 CPU
  2. 网络配置

    • 确保各服务端口未被占用
    • 生产环境建议配置 HTTPS
  3. 数据持久化

    • 所有数据目录都已映射到宿主机
    • 定期备份映射目录中的数据
  4. 性能调优

    • 根据实际负载调整 JVM 内存参数
    • 监控 Redis 和 MySQL 性能指标

常见问题处理

  1. 端口冲突:修改对应服务的端口映射配置
  2. 内存不足:调整 JVM 参数和容器内存限制
  3. 数据库连接问题:检查 MySQL 服务是否正常启动
  4. 缓存异常:检查 Redis 服务状态和连接配置

总结

通过 Docker Compose 部署 Chatopera/Cosin 项目可以快速搭建完整的客服系统环境。本文详细介绍了各服务的配置项和相互关系,帮助开发者理解系统架构并进行定制化部署。实际部署时应根据业务需求和硬件条件调整相关参数,特别是 JVM 内存设置和数据库配置。