首页
/ CryptPad项目Docker-Compose部署指南

CryptPad项目Docker-Compose部署指南

2025-07-07 05:58:27作者:鲍丁臣Ursa

概述

CryptPad是一个开源的在线协作平台,提供端到端加密的文档、表格、演示文稿等协作功能。本文将通过技术角度详细解析其Docker-Compose部署方案,帮助开发者快速搭建私有化的CryptPad服务。

核心服务配置

基础镜像配置

image: "cryptpad/cryptpad:version-2025.3.1"
hostname: cryptpad

该配置指定了CryptPad的官方Docker镜像,版本为2025.3.1。hostname设置为cryptpad,这是容器内部使用的主机名标识。

关键环境变量

environment:
  - CPAD_MAIN_DOMAIN=https://your-main-domain.com
  - CPAD_SANDBOX_DOMAIN=https://your-sandbox-domain.com
  - CPAD_CONF=/cryptpad/config/config.js

这些环境变量控制着CryptPad的核心行为:

  1. CPAD_MAIN_DOMAIN:设置主域名,用于访问CryptPad服务
  2. CPAD_SANDBOX_DOMAIN:设置沙箱域名,用于隔离不安全内容
  3. CPAD_CONF:指定配置文件路径

ONLYOFFICE集成(可选)

# - CPAD_INSTALL_ONLYOFFICE=yes

这是一个被注释掉的配置,如需启用ONLYOFFICE文档编辑功能,需取消注释并确保已阅读并接受相关许可协议。

数据持久化配置

volumes:
  - ./data/blob:/cryptpad/blob
  - ./data/block:/cryptpad/block
  - ./customize:/cryptpad/customize
  - ./data/data:/cryptpad/data
  - ./data/files:/cryptpad/datastore
  - ./onlyoffice-dist:/cryptpad/www/common/onlyoffice/dist
  - ./onlyoffice-conf:/cryptpad/onlyoffice-conf

这些卷挂载确保了关键数据的持久化存储:

  1. blobblock:存储加密的二进制数据块
  2. customize:存放自定义样式和配置
  3. datadatastore:核心应用数据存储
  4. onlyoffice-distonlyoffice-conf:ONLYOFFICE相关配置和分发文件

网络与性能配置

ports:
  - "3000:3000"  # 主服务端口
  - "3003:3003"  # 沙箱服务端口

ulimits:
  nofile:
    soft: 1000000
    hard: 1000000

端口映射:

  • 3000端口:主服务访问端口
  • 3003端口:沙箱环境访问端口

ulimits设置提高了文件描述符限制,确保服务在高并发场景下的稳定性。

部署实践建议

  1. 域名配置:实际部署时应替换示例域名,并确保DNS解析正确配置
  2. 数据备份:定期备份挂载的volume目录,特别是/data相关目录
  3. 性能调优:根据实际负载情况调整ulimits值
  4. 安全考虑:建议配置HTTPS反向代理,而非直接暴露3000/3003端口

常见问题排查

  1. 服务启动失败:检查volume目录权限,确保容器有读写权限
  2. ONLYOFFICE集成问题:确认已正确接受许可协议,并配置了所有必需目录
  3. 性能问题:监控文件描述符使用情况,必要时调整ulimits设置

通过以上配置解析,开发者可以全面理解CryptPad的Docker部署架构,并根据实际需求进行定制化部署。