Docmost:开源团队知识库部署教程,支持实时协作的 Notion 替代
Docmost:开源团队知识库部署教程,支持实时协作的 Notion 替代
Docmost 是一款现代化的开源团队知识库与协作文档平台,定位为 Notion、Confluence 的自托管替代方案。它提供富文本编辑器、嵌套页面结构、实时多人协作、空间(Space)权限管理、评论、页面历史版本等核心功能,界面简洁现代,上手门槛极低。对于不希望将内部知识沉淀在第三方 SaaS 上的团队,Docmost 是目前最轻量、部署最简单的选择之一。
与 Notion 相比,Docmost 最大的优势是数据完全自主可控。公司的产品文档、运营 SOP、技术 Wiki、会议记录等核心资产存储在自己的服务器上,不受平台规则变化和账号封禁风险的影响。Docmost 基于 Node.js 后端 + React 前端开发,配合 PostgreSQL 存储结构化数据,Redis 处理实时协作消息,整体架构轻巧,资源占用低。
1 核 2GB 的入门机型即可流畅运行 10-20 人的知识库系统。本文将使用 Docker Compose + Caddy 完成 Docmost 的完整部署配置。
服务器配置
Docmost 是典型的轻量级 Web 应用,空载内存占用约 200-400MB(含 PostgreSQL + Redis),即使在文档量较大的情况下,资源消耗依然可控。1 核 2GB 机型完全满足中小团队需求。
推荐使用雨云服务器 rainyun-com部署 Docmost,注册填优惠码 2026off 领 5 折优惠券,1 核 2GB 机型即可流畅运行,是搭建团队内部知识库性价比最高的选择。
推荐配置:
| 项目 | 规格 |
|---|---|
| CPU | 1 核 |
| 内存 | 2 GB |
| 磁盘 | 20 GB SSD(存储文档和附件) |
| 操作系统 | Ubuntu 22.04 LTS |
| 带宽 | 3 Mbps 及以上 |
环境要求
- Docker 24.0+
- Docker Compose v2.20+
- 已解析到服务器的域名
- 开放 80/443 端口
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
docker --version && docker compose version
准备工作
创建目录结构
mkdir -p /opt/docmost
cd /opt/docmost
mkdir -p data/postgres data/redis data/storage
生成 APP_SECRET
Docmost 需要一个用于加密 session 的密钥:
# 生成 64 位随机密钥
openssl rand -hex 32
# 记录输出,填入 APP_SECRET
部署配置
创建 /opt/docmost/docker-compose.yml:
version: "3.9"
services:
docmost:
image: docmost/docmost:latest
container_name: docmost
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
volumes:
- ./data/storage:/app/data/storage
environment:
APP_URL: "https://wiki.yourdomain.com"
APP_SECRET: "${APP_SECRET}"
DATABASE_URL: "postgresql://docmost:${POSTGRES_PASSWORD}@postgres:5432/docmost?schema=public"
REDIS_URL: "redis://redis:6379"
# 邮件配置(用于邀请成员、密码重置)
MAIL_DRIVER: smtp
SMTP_HOST: "${SMTP_HOST}"
SMTP_PORT: "587"
SMTP_SECURE: "false"
SMTP_USERNAME: "${SMTP_USERNAME}"
SMTP_PASSWORD: "${SMTP_PASSWORD}"
MAIL_FROM_ADDRESS: "noreply@yourdomain.com"
MAIL_FROM_NAME: "Docmost"
# 存储配置(本地存储)
STORAGE_DRIVER: local
# 时区
TZ: "Asia/Shanghai"
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
networks:
- docmost_net
postgres:
image: postgres:16-alpine
container_name: docmost-postgres
restart: unless-stopped
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}"
volumes:
- ./data/postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U docmost"]
interval: 10s
timeout: 5s
retries: 5
networks:
- docmost_net
redis:
image: redis:7-alpine
container_name: docmost-redis
restart: unless-stopped
volumes:
- ./data/redis:/data
command: redis-server --appendonly yes --maxmemory 128mb --maxmemory-policy allkeys-lru
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- docmost_net
networks:
docmost_net:
driver: bridge
创建 /opt/docmost/.env:
APP_SECRET=your_64_char_hex_secret_here
POSTGRES_PASSWORD=your_strong_postgres_password
# SMTP 配置(可选,用于邀请邮件)
SMTP_HOST=smtp.yourmailprovider.com
SMTP_USERNAME=your-email@yourdomain.com
SMTP_PASSWORD=your-smtp-password
启动服务:
cd /opt/docmost
chmod 600 .env
docker compose up -d
docker compose logs -f docmost
等待日志出现 Server started on port 3000 后,服务启动完成。
Caddy 反向代理
Docmost 使用 WebSocket 进行实时协作同步,Caddy 需要正确处理 WebSocket 升级请求。
编辑 /etc/caddy/Caddyfile:
wiki.yourdomain.com {
reverse_proxy localhost:3000 {
header_up Host {host}
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
# 保持长连接(WebSocket 实时协作)
transport http {
keepalive 30s
keepalive_idle_conns 10
}
}
# 附件上传大小限制
request_body {
max_size 50MB
}
encode gzip
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains"
X-Content-Type-Options "nosniff"
X-Frame-Options "SAMEORIGIN"
Referrer-Policy "strict-origin-when-cross-origin"
}
}
重载 Caddy:
systemctl reload caddy
核心功能配置
初始化管理员账号
首次访问 https://wiki.yourdomain.com 时,系统会引导创建第一个管理员账号,填写用户名、邮箱和密码后完成初始化。
创建工作区空间(Space)
Docmost 使用「Space」作为顶层组织单位,类似 Notion 的「工作区」或 Confluence 的「空间」:
- 点击左侧「+」创建新 Space
- 设置 Space 名称(如「产品文档」「工程 Wiki」「运营手册」)
- 选择访问权限:公开(组织内所有成员可见)或私有(仅受邀成员)
页面嵌套结构
Docmost 支持无限层级的嵌套页面,组织方式类似文件目录:
产品文档/
├── 产品需求/
│ ├── 2026 Q1 需求清单
│ └── 用户故事地图
├── 接口文档/
│ ├── 认证接口
│ └── 数据接口
└── 版本历史/
├── v2.0 更新日志
└── v1.9 更新日志
在页面标题下方拖拽页面可以快速调整层级结构。
邀请团队成员
进入「Settings」→「Members」→「Invite Member」,输入邮箱地址发送邀请链接。成员点击邮件中的链接后注册账号,自动加入工作区。
若未配置 SMTP,可以在邀请界面直接复制邀请链接手动发送给成员。
权限管理
Docmost 提供精细的权限控制:
- 工作区级别:管理员、普通成员
- Space 级别:全部成员可见 / 仅特定成员
- 页面级别:编辑权限、评论权限、只读权限
使用技巧
富文本编辑快捷键
Docmost 的编辑器支持 Markdown 语法快捷输入:
##+ 空格:创建 H2 标题-+ 空格:创建无序列表1.+ 空格:创建有序列表- ` ````+ 语言名:插入代码块
[]+ 空格:创建任务复选框
@提及与评论
在文档中输入 @ 可以提及团队成员,触发通知。选中文本后点击「Comment」按钮可以对特定段落添加评论,适合文档审阅场景。
页面历史版本
每次保存自动生成版本快照,通过页面右上角「History」可以查看所有历史版本并恢复到任意时间点。
导出文档
支持将页面导出为 Markdown 或 PDF 格式,便于外部分享或离线查阅。
批量备份
# 备份数据库
docker compose exec postgres pg_dump -U docmost docmost \
> /backup/docmost-db-$(date +%Y%m%d).sql
# 备份附件存储
tar czf /backup/docmost-storage-$(date +%Y%m%d).tar.gz \
/opt/docmost/data/storage/
# 自动备份(写入 crontab)
# 0 2 * * * cd /opt/docmost && docker compose exec -T postgres pg_dump -U docmost docmost > /backup/docmost-db-$(date +\%Y\%m\%d).sql
常见问题
Q:实时协作不同步,两个用户编辑同一文档时看不到对方的修改
A:实时协作依赖 WebSocket 连接。检查 Caddy 是否正常代理了 WebSocket 请求,可以在浏览器开发者工具的「Network」标签中查看是否有 ws:// 或 wss:// 连接建立。
Q:图片或附件上传失败
A:检查 /opt/docmost/data/storage/ 目录权限是否正确(Docmost 容器需要写入权限),以及 Caddy 的 request_body max_size 是否足够大。
Q:忘记管理员密码如何重置
# 进入容器执行密码重置命令
docker compose exec docmost node -e "
const {hash} = require('argon2');
hash('NewPassword123!').then(h => console.log(h));
"
# 将输出的哈希值更新到数据库
docker compose exec postgres psql -U docmost -d docmost \
-c "UPDATE users SET password='<hash>' WHERE email='admin@yourdomain.com';"
Q:如何迁移到新服务器
迁移非常简单,只需:
- 在新服务器上部署相同的
docker-compose.yml - 将
/opt/docmost/data/整个目录传输到新服务器 - 恢复数据库:
cat docmost-db.sql | docker compose exec -T postgres psql -U docmost docmost - 修改
.env中的APP_URL和 DNS 解析
Q:如何升级 Docmost 版本
cd /opt/docmost
docker compose pull docmost
docker compose up -d
docker compose logs -f docmost
Docmost 支持自动数据库迁移,升级通常无需手动操作。
Docmost 提供了接近 Notion 的使用体验,同时保持了极低的资源消耗和简单的部署流程。对于希望将团队知识库掌握在自己手中的组织,这是目前开源生态中最值得尝试的方案之一。整个部署过程不超过 20 分钟,建议在雨云服务器 rainyun-com的 1 核 2GB 机型上运行,注册填优惠码 2026off 领取 5 折优惠券,以极低的月度成本运营一套功能完整的团队知识管理平台。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)