OnlyOffice适合需Word/Excel/PPT级功能与权限控制的场景,Etherpad轻量实时适合技术团队快速落地,LetsMarkdown专注Markdown协作、隐私优先;部署OnlyOffice须指定7.1.1镜像、启用JWT强密钥、允许私有IP访问、宿主机目录属主设为1000。

用Docker部署在线协同编辑器,核心是选对工具、配对参数、避开网络和权限雷区。不依赖云服务,自己掌控数据和协作流程,是中小团队和开发者自建文档平台最务实的路径。
选型对比:OnlyOffice、Etherpad、LetsMarkdown怎么挑
OnlyOffice适合需要Word/Excel/PPT级功能、WPS兼容、权限精细控制的场景;Etherpad轻量实时,多人光标同步+内置聊天,部署快、插件多,适合技术团队快速落地;LetsMarkdown专注Markdown协作,极简无登录、Rust后端性能强,适合写文档、记笔记、做API说明。
- 要格式兼容和企业级协作 → 优先OnlyOffice(推荐7.1.1稳定版)
- 要零配置、低资源、强实时性 → Etherpad(latest镜像开箱即用)
- 要纯文本协作+暗黑模式+隐私优先 → LetsMarkdown(无需数据库,单容器启动)
Docker部署OnlyOffice的关键四步
官方镜像默认禁用私有IP访问且JWT校验严格,跳过这几点,前端必然白屏或报401。
- 拉取指定版本镜像,避免latest不稳定:docker pull onlyoffice/documentserver:7.1.1
- 启动时必须开启JWT并设强密钥:
-e JWT_ENABLED=true -e JWT_SECRET=your_32char_secret - 允许内网访问:进容器改
/etc/onlyoffice/documentserver/default.json,把"allowPrivateIPAddress": false改为true,再执行supervisorctl restart all - 宿主机映射目录需属主为1000(OnlyOffice服务用户):
chown -R 1000:1000 /onlyoffice/data /onlyoffice/logs
Etherpad一键启动与生产增强
它比OnlyOffice更“Docker友好”,但默认使用SQLite不适合高并发,上线前建议升级。
- 基础启动(测试用):
docker run -d -p 9001:9001 --name etherpad etherpad/etherpad:latest - 连接PostgreSQL(生产推荐):
docker run -d -p 9001:9001 --name etherpad -e DB_TYPE=postgres -e DB_HOST=pg-host -e DB_PORT=5432 etherpad/etherpad - 启用常用插件:在容器内挂载
settings.json,开启ep_tables(表格)、ep_headings2(标题层级)等
前端集成注意事项
无论选哪个后端,前端都得绕过跨域和鉴权问题。RuoYi这类Vue项目尤其要注意。
- OnlyOffice前端需传
token签名URL,不能直接暴露DocumentServer地址,要用后端代理生成带JWT的document.url - Etherpad前端调用
/api/1/createSession等接口时,确保Nginx反代透传X-Forwarded-For,否则用户IP识别异常 - 所有编辑器容器对外端口建议统一走HTTPS反代(如Nginx),避免混合内容拦截和WebSocket失败


















