Docmost 是一款可自托管的开源协作 Wiki。它用空间和嵌套页面组织团队文档,多人可以同时编辑同一页。想把手上的 Confluence、Notion 知识库搬回自己服务器,又不想放弃实时协作的团队,是它的主要用户。本文按 0.97.0 版本讲清三容器部署、反向代理必须处理的 WebSocket,以及开源版与付费版的分界。
项目在 GitHub 上以 AGPL-3.0 发布核心代码,主语言是 TypeScript。仓库约 2.2 万星标、1670 个 fork,最近一次推送在 2026 年 11 月 5 日。代码按 monorepo 组织,服务端、客户端与企业功能分目录存放。今天要部署的只是服务端,外加数据库与缓存。
定位:空间、嵌套页面与块编辑器
内容层级是工作区下面挂空间,空间里放无限嵌套的页面。空间可以单独设权限,成员通过用户组统一授权。按部门或项目分空间写文档,比在一个大目录里堆页面更好管理。侧边栏支持拖拽排序,页面之间能互链,也能看到反向链接。
编辑器是块结构。表格可调列宽、合并单元格,代码块、折叠块、提示块与 KaTeX 公式都内置。图表走 Draw.io、Excalidraw 与 Mermaid 三条线,选中文字就能加评论。同步块让同一段内容在多页复用,改一处其他页跟着变,写运维手册时省事。
开源版覆盖的能力包括:
- 实时协作编辑,带光标位置与在线状态
- 空间与用户组权限、页面历史与版本回滚
- 标签、同步块、评论、公开分享链接
- Markdown / HTML 导入导出,Notion 导入
- 全文搜索、附件上传、12 种以上界面语言
付费版才开放的部分同样要看清楚。身份层面是 SSO(SAML 2.0、OIDC、LDAP)与 MFA,内容层面是 Bases、看板视图与页面级细粒度权限。接口层面是 REST API 与 MCP,附件内全文搜索、Confluence 与 DOCX/PDF 导入也在付费档。官方定价页写明 Business 每席位每月 6 美元,按年付费,最少 10 席。
部署:三容器 compose 与两处必改配置
官方推荐 Docker 部署,整栈三个服务。先在服务器上建目录,拉下仓库里的 compose 文件。改完环境变量,再启动。
命令只有四条。先 mkdir docmost 建目录并进入,再用 curl -O 拉取官方模板。vi 打开文件改配置,改完执行 docker compose up -d。
| 服务 | 镜像 | 作用 | 持久化 |
|---|---|---|---|
| docmost | docmost/docmost:latest | 应用本体,监听 3000 | 卷 docmost 挂到 /app/data/storage |
| db | postgres:18 | 页面、用户、权限、设置 | 卷 db_data 挂到 /var/lib/postgresql |
| redis | redis:8 | 缓存、协同状态与任务队列 | 卷 redis_data 挂到 /data,开启 appendonly |
两个变量必须改,改错就起不来。APP_URL 填你实际访问的域名,要带 https。APP_SECRET 至少 32 个字符,官方给的做法是 openssl rand -hex 32。保留模板里的默认值,应用会直接启动失败。
第三处是数据库口令。POSTGRES_PASSWORD 与 DATABASE_URL 里的那段密码要同时改。只改一个,就连不上库。
Redis 那行参数也有讲究。--appendonly yes 保证重启后队列不丢。--maxmemory-policy noeviction 让内存满时拒绝写入,而不是静默淘汰键。
存储卷的位置别照抄老教程。官方模板把 Postgres 挂在 /var/lib/postgresql。早期教程常见的 /var/lib/postgresql/data 在这里不适用,挂错路径数据就留在容器层里。
启动后访问 http://服务器IP:3000 会进入初始化页面。初始化时注册的账号成为工作区所有者,之后可以邀请成员。健康检查接口是 /api/health,接监控时用它。具体参数以官方安装文档为准。
不想手写 compose 的话,用站内介绍过的Coolify 这类自托管面板也能托管这套栈。代价是多一层要维护的组件,三个容器的项目收益有限。
反代、WebSocket 与两处容易忽略的细节
生产环境要套反向代理,但这里有个硬性条件。Docmost 的实时协作走 WebSocket。代理不转发 Upgrade 与 Connection 头,编辑器会退化成只读模式。这看起来像权限问题,其实是连接没建起来。
官方为 Traefik 和 Caddy 各写了一份配置指南,Caddy 的写法最短。一份反代条目就能自动申请证书。自己签证书或用 NGINX 的话,站内ACME 证书自动化那篇讲了验证方式与续期。
第二个细节是 APP_SECRET 不要在上线后更换。按备份文档的说明,MFA 密钥、集成 token、SIEM 凭据都用它加密。换掉之后,这些数据在恢复时解不开。换域名可以改 APP_URL,换密钥不行。
附件默认存本地卷。需要多机或对象存储时,可在配置里改用 S3 兼容存储或 Azure Blob。改完记得把新位置也纳入备份。3000 端口不要直接暴露到公网,对外一律走 443。
和 BookStack、Outline 的对比
自托管 Wiki 绕不开另外两个项目,它们的分歧主要在编辑模型和许可上。
| 维度 | Docmost | BookStack | Outline |
|---|---|---|---|
| 许可 | AGPL-3.0 核心 + 商业 EE 目录 | MIT | BSL 1.1 |
| 技术栈 | TypeScript + PostgreSQL 18 + Redis 8 | PHP 8.2+ 与 MySQL 8.0/MariaDB 10.6+ | React + Node,需 PostgreSQL 与 Redis |
| 内容结构 | 空间 + 任意层级嵌套页面 | 书架—书—章—页四级固定 | 集合 + 文档嵌套 |
| 协作方式 | 块级实时协作 | 页面编辑与版本历史 | 实时协作 |
| 登录方式 | 自带邮箱密码,SSO 与 MFA 属付费 | 自带账号,OIDC/SAML/LDAP 免费 | 依赖外部身份提供方 |
BookStack 的优势是轻和稳。一个 PHP 应用加一个数据库就够,官方要求 PHP 8.2 以上、MySQL 8.0 或 MariaDB 10.6 以上。MIT 许可对二次分发没有额外约束。代价是结构固定,页面必须落在书架、书、章的格子里,编辑体验偏传统文档。
Outline 的写作体验接近 Notion,但许可为 BSL 1.1。内部使用可以,把它当文档服务对外提供则受限制,每个版本在发布四年后转为 Apache 2.0。部署上除 PostgreSQL 还要 Redis,且没有自带邮箱密码登录。得先接一个身份提供方,装之前的工作量比 Docmost 大。
三者的取舍可以简化成一句话。要实时协作又要留在开源许可内,Docmost 是中间选项。想少花维护成本、能接受固定层级,选 BookStack。预算允许、团队已有统一身份系统,Outline 更顺手,第三方对比也把部署重量放在功能清单之前。
备份、升级与真实局限
备份是三件套:数据库、附件目录、配置文件。数据库用 pg_dump 打成自定义格式,附件用 tar 打包整个存储卷。再复制 docker-compose.yml 与 .env;只备份数据库会丢图片和附件。
数据库用 docker compose exec -T db pg_dump 导出,参数带 -U docmost -d docmost -Fc。输出重定向到文件。附件用 docker compose run 调用 tar 容器,打包 /app/data/storage。最后把 compose 文件、.env 与两份产物复制到备份目录。
备份时顺带记下 Docmost 与 PostgreSQL 的版本号,恢复要求两者一致。恢复用的 PostgreSQL 需要装 unaccent 与 pg_trgm 扩展。用了 pgvector 还要 vector,恢复账号得有建扩展的权限。目的地可以直接用站内介绍过的自托管备份工具,restic 或 Kopia 定时拉走备份目录并加密传到异地。
升级前先备份。固定版本时把镜像标签从 0.96.0 改成 0.97.0。再执行 docker compose pull docmost 与 docker compose up -d --force-recreate docmost。
0.97.0 在 2026 年 10 月 25 日发布。这一版更新了 GitHub、GitLab、Jira、Linear、Figma 的链接预览,加了演示模式与标签页块。同一版还修了 Node.js 的安全问题,值得跟。发布说明里每版都带迁移与安全条目,跨版本升级别跳太多。
必须承认的局限有这几条。版本号仍是 0.x,小版本之间也可能带数据库迁移,升级节奏要跟着官方走。免费版只有邮箱密码一种登录,SSO、MFA、API 都在付费档。附件内搜索同样是付费功能,免费版只能搜页面正文。
官方文档给的是 Web 端与 Docker 部署,没提到独立手机客户端,移动端实际走浏览器。另外多出两个有状态服务。PostgreSQL 与 Redis 的备份、升级、磁盘水位都得你自己盯,这部分成本不会因为应用轻而消失。
适合上手的情况:团队十来人,需要多人同时改一篇文档。希望数据留在自己机房或 VPS 上,也能接受为 SSO、审计这类功能付费。只想给三五个人放静态文档,BookStack 更省事。建议先在本地跑一遍 compose,用 localhost:3000 试协作,确认习惯后再配域名和证书。
相关地址
以下为文中项目的官方入口,版本号、文档与下载以这些页面为准。
- Docmost(官网):https://docmost.com/
- Docmost(GitHub 仓库):https://github.com/docmost/docmost
- Docmost(安装文档):https://docmost.com/docs/installation
- Docmost(反向代理文档):https://docmost.com/docs/self-hosting/reverse-proxy
- Docmost(备份与恢复):https://docmost.com/docs/self-hosting/backups
- Docmost(定价):https://docmost.com/pricing
- BookStack(官网):https://www.bookstackapp.com/
- BookStack(安装文档):https://www.bookstackapp.com/docs/admin/installation
- Outline(GitHub 仓库):https://github.com/outline/outline
© 版权声明
文章版权归作者所有,转载需注明出处。未声明原创的皆为网络收集,如有侵权请邮箱lishiwenhuagx@sina.com联系下架处理。




