本文完成于
2022
年9
月,11
月的时候补充了些内容,修改了部分图片,原本是准备发的,不知什么原因又给拖延了;
当时的版是v5.1.0
,而现在最新的版本是v5.2.1
;
什么是 CryptPad ?
CryptPad
是一个端到端加密和开源的协作套件。它旨在支持协作,实时同步对文档的更改。由于所有数据都是加密的,因此服务及其管理员无法查看正在编辑和存储的内容。
老苏觉得可以作为 Google
在线办公产品套件的优秀的替代品
CryptPad
的一些文件格式转换工具是基于 OnlyOffice
的代码,但是,这仅涉及客户端代码,CryptPad
并不使用 OnlyOffice
文档服务器。CryptPad
的加密协作,与上游 OnlyOffice
部分使用的加密系统完全不同。
CryptPad
是完全私有的,所有的内容都是由你的浏览器进行加密和解密的。这意味着文件、聊天记录在你登录的会话之外是无法阅读的。即使是服务管理员也无法得到你的信息。
准备
域名
服务器配置使用了字段 httpUnsafeOrigin
和 httpSafeOrigin
这 2
个不同的 URL
。
默认情况下,在开发实例上,它们对应于 http://localhost:3000/( unsafe )
和 http://localhost:3001/( safe )
。第二个(安全)通常不向用户显示,它只在 iframe
内部使用。
使用安全 URL
手动打开 CryptPad
不会提供对应用程序的访问。但还是要两个域才能充分利用 CryptPad
的安全功能。
因为协作所以肯定不只是在局域网使用,所以老苏准备了 2
个域名
但其实从头至尾也没用上第二个域名,😂
容器端口 | 域名 | |
---|---|---|
主域 | 3100 | cryptpad.laosu.ml |
沙箱 | 3101 | sandbox.laosu.ml |
因为没有备案,实际访问时需带上端口,例如:https://cryptpad.laosu.ml:444
设置文件
官方提供了 config.example.js
,我们可以直接从https://raw.githubusercontent.com/xwiki-labs/cryptpad/main/config/config.example.js 直接另存为 config.js
,但接下来要做两处修改
- 第一处,找到
httpUnsafeOrigin: 'http://localhost:3000',
,将其改为我们设置的主域httpUnsafeOrigin: 'https://cryptpad.laosu.ml:444',
- 第二处,找到
installMethod: 'unspecified',
,将其改为installMethod: 'docker',
安装
在群晖上以 Docker 方式安装。
cryptpad
分为独立版(标签为latest
和alpine
)和 nginx
代理版(标签为nginx
和nginx-alpine
),但老苏用到 npm
做反代,所以没去研究nginx
代理版的两个版本,也就只知道环境变量很多,有兴趣可以自己研究
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 cryptpad 和 子目录
mkdir -p /volume2/docker/cryptpad/{customize,data/{blob,block,data,files}}
# 进入 cryptpad 目录
cd /volume2/docker/cryptpad
# 将 config.js 放入当前目录
# 修改所有权
chown -R 4001:4001 config.js data customize
# 运行容器
docker run -d \
--restart unless-stopped \
--name cryptpad \
-p 3100:3000 \
-p 3101:3001 \
-v ${PWD}/config.js:/cryptpad/config/config.js \
-v ${PWD}/customize:/cryptpad/customize \
-v ${PWD}/data/blob:/cryptpad/blob \
-v ${PWD}/data/block:/cryptpad/block \
-v ${PWD}/data/data:/cryptpad/data \
-v ${PWD}/data/files:/cryptpad/datastore \
promasu/cryptpad
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
cryptpad:
image: promasu/cryptpad
container_name: cryptpad
restart: unless-stopped
ports:
- 3100:3000
- 3101:3001
volumes:
- ./config.js:/cryptpad/config/config.js
- ./customize:/cryptpad/customize
- ./data/blob:/cryptpad/blob
- ./data/block:/cryptpad/block
- ./data/data:/cryptpad/data
- ./data/files:/cryptpad/datastore
然后执行下面的命令
# 新建文件夹 cryptpad 和 子目录
mkdir -p /volume2/docker/cryptpad/{customize,data/{blob,block,data,files}}
# 进入 cryptpad 目录
cd /volume2/docker/cryptpad
# 将 docker-compose.yml 和 config.js 放入当前目录
# 修改所有权
chown -R 4001:4001 config.js data customize
# 一键启动
docker-compose up -d
运行
在浏览器中输入 https://cryptpad.laosu.ml:444
,就能看到主界面
默认支持繁体中文
先要注册用户
需要注意:
- 密码不能少于
8
位; - 密码如果忘记了,是不能找回的;
当然你也可以用访客
登录过程
登录成功 后的主界面
新建一个文档,可选的类型挺丰富的
新建一个白板试试
所有创建的文件都可以在 磁碟
中找到
配置管理员
直接按照官方的说明操作,原文在:https://docs.cryptpad.org/en/admin_guide/installation.html?highlight=adminkeys#configure-administrators
找到注册用户的公钥
复制后写入到 config.js
中,记得保存后,需要重启 CryptPad
容器
在用户菜单中,会多出 管理员
管理员能做一些系统设置、管理工作,比如 关闭注册
遗留问题
在工作表
中,存在部分菜单不能正常显示
中文输入也会显示为方块
其他模块中暂时未发现,显然不像是字体问题,有点奇怪
参考文档
xwiki-labs/cryptpad: Collaboration suite, end-to-end encrypted and open-source.
地址:https://github.com/xwiki-labs/cryptpad
xwiki-labs/cryptpad-docker
地址:https://github.com/xwiki-labs/cryptpad-docker
CryptPad.org
地址:https://cryptpad.org/
CryptPad Documentation — CryptPad 5.0 documentation
地址:https://docs.cryptpad.org/en/
CONFIG · Issue #795 · xwiki-labs/cryptpad
地址:https://github.com/xwiki-labs/cryptpad/issues/795