首页
/ CAP-SO项目Docker Compose部署模板详解

CAP-SO项目Docker Compose部署模板详解

2025-07-06 06:19:42作者:苗圣禹Peter

模板概述

CAP-SO项目的Docker Compose模板为开发者提供了一个本地评估和开发环境的基础配置。这个模板包含了三个核心服务:Web应用服务、MySQL数据库服务和MinIO对象存储服务。需要注意的是,此模板不适用于生产环境部署,必须根据实际需求进行修改后才能用于生产环境。

服务组件详解

1. Web应用服务 (cap-web)

Web应用服务是CAP-SO项目的前端核心,基于Next.js框架构建,具有以下关键配置:

  • 镜像来源:使用官方提供的最新Web应用镜像
  • 端口映射:将容器内的3000端口映射到主机的3000端口
  • 环境变量
    • 数据库连接配置(DATABASE_URL)
    • Web应用URL(WEB_URL和NEXTAUTH_URL)
    • 数据库加密密钥(DATABASE_ENCRYPTION_KEY)
    • NextAuth安全密钥(NEXTAUTH_SECRET)
    • S3存储相关配置(CAP_AWS_*系列变量)

安全提示:模板中的加密密钥和安全密钥都是示例值,实际部署时必须替换为自行生成的强密码。

2. MySQL数据库服务 (ps-mysql)

数据库服务使用MySQL 8.0官方镜像,配置要点包括:

  • 数据库名称:默认创建名为planetscale的数据库
  • 认证方式:使用mysql_native_password插件
  • 连接限制:最大连接数设置为1000
  • 数据持久化:通过卷(volume)将数据持久化到主机

重要安全说明:当前配置允许空密码(root用户),生产环境必须设置强密码并移除MYSQL_ALLOW_EMPTY_PASSWORD配置。

3. MinIO对象存储服务

MinIO作为本地S3兼容存储解决方案,提供以下功能:

  • API端口:3902用于S3 API访问
  • 控制台端口:3903用于Web管理界面
  • 认证配置:默认用户名和密码均为capS3root
  • 数据持久化:存储数据通过卷持久化

使用建议:如果已有S3兼容存储服务,可以移除MinIO服务并相应调整Web应用中的S3配置。

部署注意事项

  1. 环境变量定制:所有标注"CHANGE THESE"的环境变量都必须根据实际环境修改
  2. 生产环境调整:直接使用此模板存在安全风险,必须进行以下调整:
    • 设置强密码和密钥
    • 配置适当的网络策略
    • 考虑添加TLS/SSL加密
  3. 持久化存储:模板已配置数据卷确保服务重启后数据不丢失
  4. 服务依赖:Web服务依赖数据库和存储服务,启动顺序已由Docker Compose自动管理

扩展建议

对于开发环境的进一步优化,可以考虑:

  1. 添加phpMyAdmin等数据库管理工具容器
  2. 集成Redis作为缓存服务
  3. 配置日志收集和分析工具
  4. 添加健康检查配置
  5. 设置资源限制(CPU/内存)

此模板为CAP-SO项目提供了完整的本地开发环境,开发者可以基于此快速开始项目开发,但务必理解每个配置项的含义并根据实际需求进行调整。