想自建一套文档或 Wiki,绕不开这四个名字:Outline、Wiki.js、BookStack、TriliumNext。它们都能在 Docker 里跑起来,但许可、依赖数量和协作模型差别很大。这篇按许可、部署、编辑体验、权限、导出五个维度拆开对比,最后给出小团队、个人、企业内网三档选择标准。
许可先看:BSL、AGPL、MIT 三种约束
四款里只有 Outline 不算开源。仓库的 LICENSE 写明 Business Source License 1.1,参数页标注 Licensed Work 为 Outline 1.12.0,Change Date 是 2030-10-23,到期后转为 Apache License 2.0。BSL 文本自己声明「不是开源许可」:允许复制、修改、做衍生和非生产使用,附加授权只放行一种生产用途——不能把它当成面向第三方的 Document Service,也就是替别的组织托管团队文档。公司内部给员工用,不触发这条限制。
Wiki.js 与 TriliumNext 都是 AGPL-3.0。AGPL 的约束点在网络服务:改了代码又对外提供访问,改动部分要以同协议公开。内部自用、不改代码时基本无感;打算基于它做商业产品,就要先把这条想清楚。
BookStack 是 MIT,四款里约束轻,改完闭源分发也可以,代价是没有商业支持,出问题只能翻文档和社区。
归纳一下:要改代码做产品,BookStack 省心;能接受「四年后自动转 Apache 2.0」的过渡期,Outline 可用;Wiki.js 与 TriliumNext 走 AGPL,内部部署没有障碍。
部署:从单容器到四件套
Outline 的官方要求写得很明确:PostgreSQL 14+、Redis 4+,内存门槛 512MB,1GB 以上更稳,附件另需 S3 兼容存储。文档还直说它是按水平扩展的云平台设计的,生产环境部署需要运维经验,且不支持 Windows 服务器。实际落地通常是一个应用容器加 Postgres、Redis、MinIO 共四个容器。
Wiki.js 3.x 把后端收成 PostgreSQL 单一依赖,官方标的是 17 以上,全文搜索、任务队列和事件分发都压在 Postgres 上,应用加数据库两个容器就够。2.x 时代支持的 MySQL、MariaDB、MS SQL、SQLite 在 3.x 全部取消,官方文档提醒升级前先把数据库迁到 Postgres。
BookStack 是 PHP 加 Laravel 的应用,安装文档要求 PHP 8.2 以上(开发分支已提到 8.3)、MySQL 8.0 或 MariaDB 10.6 以上。它没有官方 Docker 镜像,容器方案由 LinuxServer.io 和 solidnerd 维护,同样是应用加数据库两个容器。第三方实测里,它的容器空载占用约 20MB。
TriliumNext 一个容器加一个数据目录,数据库是内置的 SQLite 单文件,不需要外置数据库服务。桌面版装在本机,服务器版负责多设备同步。
| 项目 | 许可 | 后端依赖 | 容器数 | 备注 |
|---|---|---|---|---|
| Outline | BSL 1.1,2030 年转 Apache 2.0 | PostgreSQL 14+、Redis 4+、S3 | 4 | 需运维经验,不支持 Windows 服务器 |
| Wiki.js | AGPL-3.0 | PostgreSQL 17+ | 2 | 3.x 起只认 Postgres |
| BookStack | MIT | PHP 8.2+、MySQL 8.0 / MariaDB 10.6+ | 2(社区镜像) | 无官方镜像,主仓库已迁至 Codeberg |
| TriliumNext | AGPL-3.0 | SQLite 单文件 | 1 | 个人知识库,不做多人账号 |
编辑体验与权限:Markdown 派与所见即所得派

写作习惯分成两派。Outline 以 Markdown 为底,空行敲斜杠出块菜单,标题、列表、表格、代码块都能插,输入井号或星号也会即时转换;多人同屏编辑,改动实时同步,历史版本收在文档菜单里。
Wiki.js 同时提供 Markdown 编辑器与可视化编辑器。Markdown 侧是分栏实时预览,带语法高亮与表格辅助;3.x 还内置了 Excalidraw 画板、可插入的内容块和 Git 双向同步,正文可以按纯 Markdown 推回仓库或对象存储。
BookStack 默认所见即所得,也可以切到 Markdown 编辑器(同样带实时预览)。内容按「书架—书—章—页」四层组织,页面里能直接调起 diagrams.net 画图,这个组合对写运维手册、产品文档的人很顺手。
TriliumNext 是树状笔记的思路:所见即所得编辑器之外,还有代码笔记、画布、思维导图、关系图几种笔记类型,一条笔记可以克隆到树中多个位置,也支持按笔记单独加密。
权限粒度是这四款差异较大的地方。Outline 在集合上设三档——无权限、只读、可编辑,再叠加用户组,单篇文档还能单独共享给某个人;工作区角色只有管理员、编辑、查看三档,访客账号不在免费版里。BookStack 按角色授权,角色本身就是用户组,没有针对个人的例外;权限可以落到书架、书、章、单页四级,查看、新建、修改、删除分开控制,代价是要为特殊场景单开一个角色。Wiki.js 走路径规则,按页面路径与语言给组授权、支持继承,3.x 另加审批流。Trilium 没有多人账号体系,服务器版承担的是同步,不是协作。
迁移与导出:能不能把内容带走
Outline 单篇可以导出 Markdown 或 HTML,社区版不提供 PDF 导出;整个工作区能在设置里导出一份 Markdown 压缩包,接口层的 collections.export_all 还支持 outline-markdown、json、html 三种格式,并可选是否带上附件。
BookStack 的单页、章、书都能导出 HTML、PDF、纯文本、Markdown,还能打包成 Portable ZIP 把图片与附件一起带走,这个 ZIP 也能导回另一套 BookStack。图片是内嵌的,比只留链接省事。
Wiki.js 3.x 的内容默认以 Markdown 存放,存储层可以直接对接 Git 仓库或对象存储,迁移时拿到手的就是一堆 .md 文件。从 2.x 升上来有内置的导入流程,路径会按 3.x 规则重写。
TriliumNext 支持 Evernote 与 Markdown 的导入导出。官方说明从旧的 zadam/Trilium 迁过来不需要额外步骤,直接指向原数据库即可;但 v0.90.4 之后的版本同步号上调,跨版本迁移会被拦住,升级前要留意。
判断标准不复杂:正文能不能落成 Markdown 或通用格式。四款都做得到,差别在附件、历史版本和内部链接是否跟着走。BookStack 的 ZIP 与 Wiki.js 的 Git 存储在这项上更彻底,Outline 的整库导出则依赖一台能发邮件的服务器。
三档选择标准:小团队、个人、企业内网
小团队(3 到 20 人,要协作、要权限、有基本运维)。首选 Outline,编辑与协作手感好,代价是多两个容器和一条 BSL 约束。要注意它没有账号密码登录,成员靠邮件链接、通行密钥或 Google、微软、OIDC 之类的外部身份进来,团队里没有统一身份源时得先补一个。不愿意背 BSL 的,直接换 BookStack。
个人知识库(一个人、多设备、笔记量大)。TriliumNext 更贴题:单容器加 SQLite,桌面版能完全离线,笔记树、克隆和加密是它的长项。短板是协作能力弱,将来要给团队用只能整体换掉。
企业内网(有目录服务、要审计、可能离线)。在 BookStack 与 Wiki.js 之间选。BookStack 的 PHP 加 MySQL 栈维护成本低,LDAP、SAML2、OIDC 都支持,权限能细到单页;Wiki.js 更适合内容以 Markdown 为主、需要 Git 同步或一个实例挂多个站点域名的场景。Outline 在企业内网也能用,但要先确认身份源与 BSL 条款都过关。
站内那篇 Docmost 自托管讲的是另一条路线,偏 Notion 式协作文档,四款里没有它,选型时别硬塞进同一张表。
上手顺序与常见问题
顺序建议反过来想:先用 Docker 起一套轻的(Trilium 或 BookStack),把目录结构和写作规范跑通;再确认是否真的需要多人协作与细粒度权限;最后才评估许可与迁移成本。先选产品再想结构,返工多数来自目录设计,而不是软件本身。
备份与迁移的通用做法可以参考站内的自建备份工具清单;如果文档里大量是扫描件与 PDF,Paperless-ngx 那套归档流程更对口。
免费版够用吗
Outline 社区版缺 SAML、访客账号和部分企业功能,日常文档协作够用;BookStack、Wiki.js、TriliumNext 没有这个分层,功能就是全部。
一定要 Redis 吗
只有 Outline 强制。另外三款不需要 Redis,Wiki.js 3.x 把队列和搜索都交给了 Postgres。
老机器能跑吗
Outline 官方写的是 512MB 内存门槛;Wiki.js 文档写 Linux 至少 1GB,进程常驻约 70MB;BookStack 应用容器空载约 20MB,主要吃内存的是数据库。
内容能带走吗
四款都支持 Markdown 导出,差别在附件与历史版本。把「能否整库导出、附件是否内嵌」写进验收清单,迁移时少一半麻烦。
相关地址
以下为四款项目的官方入口与仓库,许可条款、版本号与安装文档以这些页面为准。
- Outline(官网):https://www.getoutline.com/
- Outline(GitHub 仓库):https://github.com/outline/outline
- Outline(自托管文档):https://docs.getoutline.com/s/hosting
- Wiki.js(官网):https://js.wiki/
- Wiki.js(GitHub 仓库):https://github.com/requarks/wiki
- Wiki.js(官方文档):https://docs.requarks.io/
- BookStack(官网):https://www.bookstackapp.com/
- BookStack(GitHub 镜像仓库):https://github.com/BookStackApp/BookStack
- BookStack(Codeberg 主仓库):https://codeberg.org/bookstack/bookstack
- TriliumNext(GitHub 仓库):https://github.com/TriliumNext/Trilium
- TriliumNext(文档):https://docs.triliumnotes.org/
© 版权声明
文章版权归作者所有,转载需注明出处。未声明原创的皆为网络收集,如有侵权请邮箱lishiwenhuagx@sina.com联系下架处理。




