CryptPad项目Docker部署指南:安全协作平台搭建详解
2025-07-07 05:57:51作者:申梦珏Efrain
前言
CryptPad是一款开源的端到端加密协作平台,提供实时文档编辑、表格处理、代码协作等功能,所有数据在客户端加密后才会发送到服务器,确保了用户隐私安全。本文将详细介绍如何使用Docker Compose部署CryptPad的最新版本(2024.6.0)。
环境准备
在开始部署前,请确保系统已安装以下组件:
- Docker Engine 20.10.0或更高版本
- Docker Compose 2.0.0或更高版本
- 至少4GB可用内存
- 至少10GB磁盘空间
核心配置解析
服务定义
services:
cryptpad:
image: "cryptpad/cryptpad:version-2024.6.0"
hostname: cryptpad
这里定义了CryptPad服务使用官方2024年6月发布的镜像,并设置容器主机名为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
:主域名,用于访问平台CPAD_SANDBOX_DOMAIN
:沙箱域名,用于隔离不安全内容CPAD_CONF
:指定配置文件路径
注意:实际部署时必须将示例域名替换为你自己的有效域名,并确保已配置SSL证书。
数据持久化配置
volumes:
- ./data/blob:/cryptpad/blob
- ./data/block:/cryptpad/block
- ./customize:/cryptpad/customize
- ./data/data:/cryptpad/data
- ./data/files:/cryptpad/datastore
这些卷映射确保了以下数据持久化:
blob
:存储二进制大对象block
:存储加密数据块customize
:存放自定义样式和配置data
:核心应用数据datastore
:用户上传的文件
ONLYOFFICE集成(可选)
- ./onlyoffice-dist:/cryptpad/www/common/onlyoffice/dist
- ./onlyoffice-conf:/cryptpad/onlyoffice-conf
这些卷用于集成ONLYOFFICE文档编辑器,提供更丰富的文档编辑功能。使用前需要:
- 阅读并接受ONLYOFFICE的许可证
- 取消注释
CPAD_INSTALL_ONLYOFFICE=yes
环境变量
网络端口
ports:
- "3000:3000" # 主应用端口
- "3003:3003" # 沙箱端口
这两个端口分别用于:
- 3000:主应用服务
- 3003:沙箱环境(安全隔离)
系统资源限制
ulimits:
nofile:
soft: 1000000
hard: 1000000
设置文件描述符限制为100万,确保高并发场景下的稳定性。
部署步骤
-
创建项目目录结构:
mkdir -p cryptpad/{data,customize,onlyoffice-dist,onlyoffice-conf}
-
创建
docker-compose.yml
文件,填入上述配置内容 -
启动服务:
docker-compose up -d
-
验证服务:
docker-compose logs -f
安全建议
- 定期备份
data
目录下的所有数据 - 使用Nginx或Traefik作为反向代理,配置HTTPS
- 设置定期自动更新镜像策略
- 监控
/cryptpad/data
目录的磁盘使用情况
常见问题解决
Q:如何升级到新版本?
A:修改镜像标签后执行docker-compose up -d --force-recreate
Q:数据如何迁移?
A:只需复制data
目录到新环境即可
Q:性能优化建议? A:增加内存限制,考虑使用Redis缓存
通过本文的详细指南,您应该能够成功部署一个功能完整的CryptPad协作平台。该平台特别适合需要高度隐私保护的团队协作场景,所有数据都经过端到端加密,即使服务器管理员也无法访问用户内容。