临时要几个人一起改一份草稿、记一份会议纪要,开个文档协作又嫌注册账号麻烦?Rustpad 是一个用 Rust 写的极简实时协作 Pad,打开链接就能多人同时编辑,不需要注册,文档内容直接编码在分享 URL 里。本文记录在雨云 VPS 上用 Docker 部署 Rustpad,并接上反向代理与访问控制的做法。
为什么需要一个自托管的协作 Pad
Rustpad 的定位类似 Etherpad:一个浏览器里就能用的实时协作文本框,多人光标实时同步,谁改了哪一行都看得到。它和 HedgeDoc 实时协作文档 的区别在于更轻——HedgeDoc 偏向带格式的共享文档、支持导出 Markdown/PDF,而 Rustpad 就是一块「共享白板」,适合临时碰想法、列清单、对一段代码或文案。
把这类服务架在自己服务器上,好处是数据不经过第三方协作平台、不强制登录,临时拉人进来写东西更顺手,也不担心内容被平台留存。
在雨云 VPS 上用 Docker 部署 Rustpad
Rustpad 官方提供镜像 ekzhang/rustpad,单容器即可运行。建议用 Docker Compose 管理:
version: "3"
services:
rustpad:
image: ekzhang/rustpad
container_name: rustpad
restart: unless-stopped
ports:
- "127.0.0.1:3030:3000"
只监听本地回环 127.0.0.1:3030,对外统一走反代,避免端口裸奔。目录结构参考 雨云 VPS 新手指南 里的持久化与目录规范。
启动后容器内在 3000 端口提供页面,本机访问 http://127.0.0.1:3030 即看到编辑界面。
反向代理与访问安全
公网访问必须上 HTTPS,并且建议加一层认证。Rustpad 本身没有账号体系,任何拿到链接的人都能编辑,所以:
- 用 Nginx/Caddy 反代到
127.0.0.1:3030,强制 443 + 证书; - 若只在小范围使用,可在反代层加 Basic Auth,或套一层 Authelia 统一登录网关 做 SSO + 二次验证;
- 文档以加密形式存在 URL 的
#doc/...片段里,服务端不落盘,分享链接即等于分享内容——链接外泄等同于内容外泄,敏感内容注意阅后即焚、及时换链接。
文档存在哪、怎么协作
Rustpad 默认无状态:文档不上传服务器,而是编码进浏览器地址栏的 URL 片段(fragment),分享完整链接给他人即可加入协作。这带来两个特点:
- 换设备编辑必须带着那条带
#doc的链接,否则开新链接是空白文档; - 服务端重启不丢内容(因为本来就没存服务端),但也意味着没有历史版本管理。
需要长期沉淀的文档,建议协作完复制到 HedgeDoc 或 BookStack 知识库 存档。
合规提醒
Rustpad 是开放编辑的协作空间,运营者需承担内容管理责任:不得利用它传播违法信息、侵权内容或骚扰他人;公开分享的链接应避免包含他人隐私或商业秘密。部署者应对访问范围有基本管控。
配套与延伸
Rustpad 对配置要求极低,1 核 512M 的雨云轻量实例就能跑。选机器时可在 雨云优惠入口 用优惠码 admin01 享五折,新用户还有 7 天无理由退款,先开一台练手不心疼。






