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的核心行为:
CPAD_MAIN_DOMAIN
:设置主域名,用于访问CryptPad服务CPAD_SANDBOX_DOMAIN
:设置沙箱域名,用于隔离不安全内容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
这些卷挂载确保了关键数据的持久化存储:
blob
和block
:存储加密的二进制数据块customize
:存放自定义样式和配置data
和datastore
:核心应用数据存储onlyoffice-dist
和onlyoffice-conf
:ONLYOFFICE相关配置和分发文件
网络与性能配置
ports:
- "3000:3000" # 主服务端口
- "3003:3003" # 沙箱服务端口
ulimits:
nofile:
soft: 1000000
hard: 1000000
端口映射:
- 3000端口:主服务访问端口
- 3003端口:沙箱环境访问端口
ulimits设置提高了文件描述符限制,确保服务在高并发场景下的稳定性。
部署实践建议
- 域名配置:实际部署时应替换示例域名,并确保DNS解析正确配置
- 数据备份:定期备份挂载的volume目录,特别是
/data
相关目录 - 性能调优:根据实际负载情况调整ulimits值
- 安全考虑:建议配置HTTPS反向代理,而非直接暴露3000/3003端口
常见问题排查
- 服务启动失败:检查volume目录权限,确保容器有读写权限
- ONLYOFFICE集成问题:确认已正确接受许可协议,并配置了所有必需目录
- 性能问题:监控文件描述符使用情况,必要时调整ulimits设置
通过以上配置解析,开发者可以全面理解CryptPad的Docker部署架构,并根据实际需求进行定制化部署。