
NAS 上部署 Docmost:开源协作 Wiki 与笔记文档系统(平替 Notion 和 Confluence)
在日常鼓捣 NAS 应用的过程中,我最近发现了一款非常值得尝试的开源工具 —— Docmost。第一眼看上去就感觉:诶,这不就是一个开源版的 Notion / Confluence 吗?简洁大气的界面 + 强大的协作能力,让人一下子就提起了兴趣。
为什么是 Docmost?
在团队写作、项目文档、知识库搭建、个人笔记这类场景中,我们常常面临这些困扰:
商业软件价格高 or 限制多(例如 Notion 商业版)
云端数据难以完全掌控
本地化部署门槛高、配置复杂
而 Docmost 正好踩中了这个需求的黄金区间:
🧩 完全开源 | 🛠️ 支持自托管 | 📁 数据自主可控 | 🧑💻 多用户实时协作
不管你是飞书、语雀、Notion 的老用户,还是正在寻找一款稳定、高颜值、好上手的协作工具,Docmost 都是极具潜力的选择。
NAS 上部署,真的很简单!
更令人惊喜的是,它的部署方式对 NAS 用户异常友好——使用 Docker 即可一键部署。无论你用的是群晖、飞牛、威联通,还是其他支持 Docker 的 NAS 系统,只需几行配置就能轻松跑起来,无需复杂运维知识,也无需折腾数据库权限或前端后端分离。
🧪 经本人实测(部署环境为群晖 DSM 7.2 + Docker Compose),Docmost 的稳定性和功能完整度在 2025 年这个时间点已经非常不错了,日常使用完全没问题!
教程目标
本教程将以实际部署为核心,带你:
了解 Docmost 的核心功能与部署结构
手把手搭建一个可用的协作文档平台
打造属于你自己的私有 Wiki / 知识中心
💡 无需依赖额外 Web 服务器,只用 Docker,照做即可成功!
准备好了吗?是时候丢掉笨重复杂的商业服务,用一台 NAS 搭建你自己的知识宇宙了。👇
Docmost介绍
欢迎体验 Docmost —— 一款现代化、功能强大的开源协作 wiki 与文档平台。它主打多人实时协作编辑,是 Notion 和 Confluence 的理想开源替代方案。
Docmost 适用于团队知识库、项目文档管理、企业内 wiki 搭建等多种场景,支持富文本 + Markdown 快捷键编辑,还能通过“空间(Spaces)”为不同项目划分权限和结构。
Docmost 核心特性:
✅ 实时协作编辑器
✅ 支持 Draw.io / Excalidraw / Mermaid 图表
✅ 空间(Spaces)划分项目或部门
✅ 页面公开分享功能
✅ 灵活的权限与用户群组管理
✅ 页面评论与版本历史
✅ 支持嵌套导航与强大搜索
✅ 文件附件 + Markdown/HTML 导入导出
✅ 支持多语言界面(中文、英文、法语等)
认证支持:
📧 邮箱+密码登录
🔐 SSO(SAML/OIDC)支持(企业版)
🔐 MFA 两步验证(企业版)
部署教程(以群晖 NAS 为例)
📌 适用于 DSM 系统,其它 NAS / Linux 系统请自行安装最新版 Docker 和 Docker Compose,操作顺序通用。
1. 开启 SSH 并连接 NAS
登录群晖 DSM 管理后台,开启 SSH 功能。
使用终端工具(如 FinalShell / PuTTY)连接 NAS。
登录后切换到
root
用户状态。
2. 准备工作目录
打开 DSM 文件管理器 → 找到
docker
文件夹 → 右键复制路径。(你想将容器数据存储到哪就进哪个文件夹)回到终端,执行如下命令进入该文件夹:
# 将/volume1/docker换成你自己的文件夹路径
cd /volume1/docker
3. 创建项目文件夹及子目录
创建并进入项目文件夹
mkdir docmost && cd docmost
创建所需子文件夹
mkdir docmost_data db_data redis_data
4. 生成 32 位安全密钥
用于应用安全加密,推荐使用 openssl 命令生成:
openssl rand -hex 32
📌 示例输出:
root@DSM:/volume1/docker/docmost# openssl rand -hex 32
bc1225fb153b7d5851046229b5a3df43f8d7af0f18c46914c9ebaa39e99d18ac
root@DSM:/volume1/docker/docmost#
5. 创建 docker-compose.yml 配置文件
编辑docker-compose.yml模板文件
vi docker-compose.yml
按字母
i
键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc
键退出编辑模式,输入:wq
保存并退出。(排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)
version: "3" services: docmost: image: docmost/docmost:latest depends_on: - db - redis environment: APP_URL: "http://localhost:3300" # 将 http://localhost:3300 换成你实际的访问地址 APP_SECRET: "REPLACE_WITH_LONG_SECRET" # 将 REPLACE_WITH_LONG_SECRET 换成前面生成的32位安全密钥 DATABASE_URL: "postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public" REDIS_URL: "redis://redis:6379" ports: - "3300:3000" # 左侧的3300端口是容器外部访问端口,可自行修改。(NAS上用到3000端口的服务比较多,演示换成3300端口。) restart: unless-stopped volumes: - ./docmost_data:/app/data/storage db: image: postgres:16-alpine environment: POSTGRES_DB: docmost POSTGRES_USER: docmost POSTGRES_PASSWORD: STRONG_DB_PASSWORD # STRONG_DB_PASSWORD 是数据库密码,可自行更改。 restart: unless-stopped volumes: - ./db_data:/var/lib/postgresql/data redis: image: redis:7.2-alpine restart: unless-stopped volumes: - ./redis_data:/data volumes: docmost: db_data:
6. 可选环境变量配置参考(ENV)
如果你有进阶需求,例如启用 S3、配置邮件通知,可参考以下选项添加到docmost的environment:
# 应用部署的域名或地址,例如 https://example.com
APP_URL=http://localhost:3000
# 应用运行的端口
PORT=3000
# 应用的密钥,长度需至少32位,可使用命令生成:openssl rand -hex 32
APP_SECRET=REPLACE_WITH_LONG_SECRET
# JWT 身份验证令牌的过期时间,例如:30d 表示30天
JWT_TOKEN_EXPIRES_IN=30d
# 数据库连接地址(PostgreSQL),格式为:postgresql://用户名:密码@主机:端口/数据库名?schema=模式
DATABASE_URL="postgresql://postgres:password@localhost:5432/docmost?schema=public"
# Redis 缓存地址
REDIS_URL=redis://127.0.0.1:6379
# 文件存储方式,可选值:local(本地存储)或 s3(Amazon S3)
STORAGE_DRIVER=local
# 以下为 S3 存储方式所需的配置,如果使用 local,可留空
AWS_S3_ACCESS_KEY_ID=
AWS_S3_SECRET_ACCESS_KEY=
AWS_S3_REGION=
AWS_S3_BUCKET=
AWS_S3_ENDPOINT=
AWS_S3_FORCE_PATH_STYLE=
# 上传文件大小限制,默认值为 50MB(单位可为 MB,例如:100mb)
FILE_UPLOAD_SIZE_LIMIT=
# 邮件发送方式,可选值:smtp(本地或第三方SMTP服务器)或 postmark(Postmark邮件服务)
MAIL_DRIVER=smtp
# 发件人邮箱地址
MAIL_FROM_ADDRESS=hello@example.com
# 发件人名称
MAIL_FROM_NAME=Docmost
# 以下为 SMTP 邮件服务器配置(如果 MAIL_DRIVER 为 smtp)
SMTP_HOST=127.0.0.1 # SMTP 服务器地址
SMTP_PORT=587 # SMTP 服务器端口
SMTP_USERNAME= # SMTP 登录用户名
SMTP_PASSWORD= # SMTP 登录密码
SMTP_SECURE=false # 是否使用加密连接(true = 使用 SSL/TLS)
SMTP_IGNORETLS=false # 是否忽略 STARTTLS(不推荐)
# 如果使用 Postmark 服务,填写对应的 API Token(如果 MAIL_DRIVER 为 postmark)
POSTMARK_TOKEN=
# 可自定义 draw.io 图表编辑服务的地址(可为空)
DRAWIO_URL=
# 是否禁用遥测(收集匿名使用数据),true 为禁用,false 为启用
DISABLE_TELEMETRY=false
# 是否在生产环境中启用调试日志,默认为 false(不启用)
DEBUG_MODE=false
7. 设置权限(群晖推荐执行)
查看当前项目文件夹路径
pwd
授权该项目文件夹内的读写权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。)
# 将 /volume1/docker/docmost/ 换成你自己实际的文件夹路径 chmod -R 777 /volume1/docker/docmost/
8. 启动容器服务
执行以下命令,拉取镜像并后台启动服务:
docker-compose up -d
或
docker compose up -d
9. 查看日志(可选)
按Ctrl+C
可中断查看
docker-compose logs -f
或
docker compose logs -f
访问 Docmost
打开浏览器,以NAS的IP+设置的端口号进行访问。
以本机为例:http://172.16.19.200:3300
默认是英文页面,可自行打开浏览器翻译,按提示设置。首次打开为英文界面,可右键翻译或按照以下步骤切换语言:
点击右上角头像 → 进入“工作区设置”找到“偏好设置” → 语言 → 选择“中文(简体)”,刷新网页即可完成汉化。
基础使用说明
在空间(Spaces)中可创建多个“项目空间”,分别管理内容。
页面支持层级结构,可拖拽调整父子页面关系
编辑器支持 Markdown 与所见即所得(WYSIWYG)模式
支持历史版本找回、防误删功能
文档粘贴支持自动排版,适合 AI 生成内容导入而不混乱。
✅ 非常适合团队协作文档、知识管理、开发文档收集等使用场景。
相关链接
✅ 如果你在使用 Docmost 的过程中有任何问题,欢迎在下方评论区留言交流 👍
✅ 如需转载请注明出处,更多 NAS + Docker 教程请持续关注我的博客。
文末
👇👇👇
- 感谢你赐予我前进的力量