自托管 Notion 替代方案对比:AppFlowy、Outline 等
对比 AppFlowy、Outline、Docmost、BookStack 和 Obsidian 的数据库、协作、移动端与托管开销,并说明 AppFlowy 免费自托管仅含 1 个席位。
简短答案
自托管的 Notion 替代方案可分为三类。选择合适的方案,主要取决于您实际使用 Notion 的哪些功能。如果您希望保留 Notion 的使用体验,包括页面嵌套页面和数据库视图,请运行 AppFlowy。如果您需要具备出色搜索功能的快速团队 wiki,请运行 Outline。如果您希望从全新服务器最快搭建出可用的工作区,请运行 Docmost。
在这类搜索中,还经常会出现另外两个工具。它们分别适合不同的需求。如果您真正需要的是结构化文档,选择 BookStack。如果工作区只有一个成员,也就是您自己,选择 Obsidian。
比较方法
这是对各项目文档化功能的比较,依据各项目的官方文档、已发布的环境示例和公开的 compose 文件,并于 2026 年 7 月核查。它不是每个项目经过一年生产运行后的报告。下文提到的限制均来自项目自身的文档或代码仓库,本文会说明具体来源。这一点很重要,因为此类大多数汇总文章都会悄悄臆测未经核查的部分。
以下4个维度按用户实际提问的顺序排列:数据库和表格视图、实时协作、移动端访问,以及托管资源开销。
AppFlowy:最接近 Notion,但许可证有限制
AppFlowy 是这里唯一真正复制 Notion 数据模型的项目。它支持页面、看板、网格和日历视图,桌面端和移动端应用都是原生应用。本地优先设计意味着,即使服务器不可用,应用仍可继续工作。
自托管只需要克隆 git 仓库并使用 compose 文件:
git clone https://github.com/AppFlowy-IO/AppFlowy-Cloud
cd AppFlowy-Cloud
cp deploy.env .env
docker compose up -d在执行最后一条命令前编辑 .env。FQDN 和 SCHEME 设置公共地址,GOTRUE_ADMIN_EMAIL 和 GOTRUE_ADMIN_PASSWORD 设置首个管理员帐户。保留 GOTRUE_ADMIN_PASSWORD=password 会部署一个管理员登录凭据易于猜测的公共服务器。
但这里有一个限制,也是本文最重要的一点。AppFlowy Cloud 已转向开放核心模式,AppFlowy Cloud README 说明,自托管 Free 层级提供“每个实例一个用户席位”,以及最多 3 名可编辑所分享页面的访客。因此,大多数人所说的“自托管 Notion”在免费层级实际上是一个访客数量受限的个人工作区。付费自托管层级会取消这些限制。在规划 10 人部署前,请先查看当前的层级和限制。
Outline:如果您已经有单点登录,这是最佳选择
Outline 提供了这组产品中最出色的纯写作和阅读体验。搜索速度快,而且确实能找到内容;编辑器简洁,内容结构采用集合和嵌套文档,而不是数据库引擎。经常撰写内容的团队通常会长期使用 Outline。
Outline 需要 PostgreSQL 和 Redis,应用监听 3000 端口。需要设置两个密钥,示例环境文件准确说明了生成方式:
openssl rand -hex 32 # SECRET_KEY
openssl rand -hex 32 # UTILS_SECRET然后将 URL 设置为您的公共 HTTPS 地址,并设置 DATABASE_URL 和 REDIS_URL。最容易令人意外的是身份验证。Outline 没有内置的用户名和密码登录功能。其自身的 .env.sample 对第三方登录凭据说明如下:“要使安装正常运行,以下至少需要一个,否则您将没有任何登录选项”。支持的选项包括 Google、Microsoft Entra、Slack、Discord,以及通用的 OpenID Connect (OIDC) 提供商。
这会带来实际成本。如果您尚未运行身份提供商,要自行托管 Outline,就必须先额外自行托管一个服务,Outline 才能正常使用。如果您已经运行身份提供商,这就是一项优势,Outline 很可能适合您。
Docmost:最快的部署选择
Docmost 是这三个系统中最新的,也是部署工作量最小的一个。它支持实时协作编辑、页面树、空间、评论,以及内置的电子邮件和密码账户,因此无需先配置身份提供商。
官方安装页面提供了4条命令:
mkdir docmost
cd docmost
curl -O https://raw.githubusercontent.com/docmost/docmost/main/docker-compose.yml
openssl rand -hex 32将该十六进制字符串填入 compose 文件中的 APP_SECRET,将 APP_URL 设置为实际使用的地址,并在两个出现的位置都替换 STRONG_DB_PASSWORD,然后启动:
docker compose up -d
docker compose ps每个服务都应读取 running。在浏览器中打开该地址后,应显示 Docmost 设置页面。您可以在此创建第一个工作区和第一个管理员用户。该堆栈由 Docmost、PostgreSQL 和 Redis 组成,文档建议的最低配置为2个 vCPU 和4 GB RAM。
文档中有一项警告值得再次强调:编辑器使用 WebSockets。如果反向代理不传递 WebSocket upgrade 标头,页面可以正常加载,但在第二个浏览器中的编辑内容永远不会显示,而且两位用户都不会看到错误。如果您在前端终止 TLS,在一台主机上处理多个应用的 Traefik 反向代理默认会正确处理 upgrade。
BookStack:当您需要文档而不是工作区时
BookStack 将内容组织为书架、书籍、章节和页面。这个固定层级正是它的核心价值。您无需设计结构,Wiki 在一年后仍然易于导航。它提供完善的权限控制和优秀的编辑器,而且具有基础设施文档应有的朴素特性。
它不提供数据库视图或块编辑功能,因此不像前面介绍的 3 个产品那样可以替代 Notion。BookStack 要求 PHP 8.2 或更高版本,以及 MySQL 8.0 或 MariaDB 10.6 或更高版本。该项目不发布自己的 Docker 镜像,而是推荐使用社区镜像,其中使用最广泛的是 LinuxServer.io 的镜像:
docker pull lscr.io/linuxserver/bookstack:latest由于该镜像由社区维护,请固定版本,不要跟踪 latest,并阅读该镜像自己的文档,了解其所需的变量。
Obsidian:不是服务器应用,这正是它的优势
Obsidian 会将纯 Markdown 文件存储在您计算机上的文件夹中。它不需要服务器,因此无需自行托管,也没有什么服务会在凌晨 3 点发生故障。对于个人记笔记,Obsidian 的速度优于上述所有选项,而且您可以确信文件的生命周期会超过软件本身。
同步功能需要由您托管。可选方案包括付费的官方同步服务、驱动社区 LiveSync 插件的 CouchDB 实例,或使用 Syncthing 等纯文件同步工具,或者使用 WebDAV 共享。不支持多人实时编辑。因此,如果两个人需要同时编辑同一页面,Obsidian 就不是合适的工具。
数据库和表:大多数替代方案止步于此
这是决定搜索范围的关键。错过 Notion 的用户通常是因为缺少数据库:数据库包含类型化字段、针对同一组行的多个视图以及筛选器。
AppFlowy 支持这些功能,提供网格、看板和日历视图。Outline、Docmost 和 BookStack 不支持。它们只能在文档中包含简单表格,但这并不等同于数据库,因为这些行无法查询,也没有针对它们的其他视图。如果 Notion 数据库用于管理你的工作,AppFlowy 是这一组中唯一真正可行的选择。在确定采用前,你应根据团队规模测试其免费套餐的席位限制。
托管资源占用:每个技术栈实际运行的组件
Docmost 和 Outline 都运行 3 个容器:应用、PostgreSQL 和 Redis。两者在小型 VPS 上都能稳定运行。BookStack 运行应用以及 MySQL 或 MariaDB 数据库,是这 4 个选项中资源占用最低的。
AppFlowy Cloud 的资源占用明显最高。它发布的 compose 文件会启动 nginx、用于对象存储的 MinIO、带 pgvector 扩展的 PostgreSQL、Redis、用于身份验证的 GoTrue、AppFlowy Cloud 服务本身、管理前端、worker、搜索服务、AI 服务和 Web 应用。这意味着需要运行一个实际的数据库、一个对象存储以及大约 10 个容器。请据此规划内存,并在开始编辑该文件之前阅读Docker Compose 服务、卷和网络如何协同工作。
应该选择哪一个
单人使用,主要记录笔记和草稿,且不需要服务器:选择 Obsidian,并自行配置同步。
单人或非常小的团队,需要类似 Notion 的数据库功能:选择 AppFlowy,但请先确认免费套餐的席位限制。
写作量较大的团队,且已经使用 Google Workspace、Entra 或 OIDC 提供商:选择 Outline。
希望在今天下午即可启用共享工作区,且没有身份提供商的团队:选择 Docmost。
面向大量读者、只有少数人编辑的基础设施或产品文档:选择 BookStack。
安装后会出现的问题
这几个项目的支持讨论中,大多数问题都属于以下 3 类,而且全部是配置问题,不是 bug。
第一个是应用 URL。Docmost APP_URL 和 Outline URL 必须使用浏览器实际访问的地址,其中包括 https://。将其设置为 localhost 并将应用置于域名之后,否则登录重定向会把用户发送到不属于他们的计算机。
第二个是上文所述的 WebSockets。应用看起来运行正常,但协同编辑会悄无声息地停止工作。
第三个是备份。所有这些应用都将内容存储在 PostgreSQL 或 MySQL 中,而不是存储在可见的文件中。因此,复制正在运行的数据库的卷目录并不是可靠的备份。按计划导出数据库,并将转储文件存储在服务器之外,就像 使用 restic 进行计划加密备份 处理其他有状态服务一样。在选择要与其一起运行的其他服务时,今年值得自行托管的更广泛应用列表 可以帮助您合理判断一台服务器应承担多少服务。
FAQ
哪个自托管 Notion 替代品最接近 Notion 本身?
AppFlowy。它是这些项目中唯一真正具有数据库概念的项目,支持为同一组行定义类型化字段,并提供网格、看板和日历视图。Outline、Docmost 和 BookStack 是具有页面层级的文档工具。它们非常适合处理文档,但不能替代 Notion 数据库。
可以自托管 Notion 本身吗?
不可以。Notion 是商业托管产品,没有自托管版本,也没有公开的服务器组件。本指南中的每个选项都是独立的开源项目,只实现了 Notion 部分功能。迁移需要执行导出和导入,而不是直接部署同一套软件。
这些工具有移动应用吗?
AppFlowy 提供原生 iOS 和 Android 应用。将应用指向自己的实例后,应用会连接到自己的服务器。Outline 和 Docmost 通过移动浏览器使用,用于阅读和简单编辑都没有问题。Obsidian 提供完整的移动应用,但同步需要自行提供。BookStack 是响应式 Web 应用,没有官方移动应用。
VPS 需要多少 RAM?
Docmost 要求至少 2 vCPU 和 4 GB RAM。对于小型团队,Outline 和 BookStack 的资源需求也大致相同。AppFlowy Cloud 是例外,因为其 compose 文件启动时约包含 10 个服务,包括带 pgvector 的 PostgreSQL 和 MinIO 对象存储。因此,需要为它准备明显更多的内存和磁盘空间。
不使用 Google 或 Microsoft 登录,Outline 可以正常使用吗?
可以,但仍需要某种身份提供商。除列出的身份提供商外,Outline 还支持通用的 OpenID Connect 提供商,因此可以使用自托管的 OIDC 服务器。Outline 不支持的是普通的本地用户名和密码登录。此外,其环境变量示例明确说明,必须至少配置一个第三方提供商,否则安装不会提供任何登录方式。