Docmost 文档协作平台搭建教程
Docmost 是一款开源的文档协作平台,类似于 Notion 和 Confluence 的自托管替代方案。它提供现代化的块编辑器、实时协作、空间管理和权限控制功能,特别适合团队知识库和项目文档管理。本教程将在搬瓦工 VPS 上通过 Docker 完成 Docmost 的部署。
一、Docmost 功能亮点
- 块编辑器:类似 Notion 的块式编辑体验,支持富文本、代码块、表格、数学公式、嵌入视频等多种内容块。
- 实时协作:多人同时编辑同一文档,修改实时同步显示,支持光标位置提示。
- 空间组织:通过空间(Space)组织文档,每个空间拥有独立的文档树和权限设置。
- 页面历史:完整的文档版本历史记录,可随时查看和恢复之前的版本。
- 权限管理:支持空间级和页面级权限控制,灵活管理团队访问。
- 全文搜索:快速搜索所有文档内容,支持标题和正文搜索。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 1GB RAM,推荐 2GB。
- 磁盘:至少 10GB 可用空间。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。
三、Docker Compose 部署
3.1 创建项目目录
mkdir -p /opt/docmost && cd /opt/docmost
3.2 创建 Docker Compose 文件
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
docmost:
image: docmost/docmost:latest
container_name: docmost
restart: always
ports:
- "3000:3000"
environment:
APP_URL: "http://your-domain.com"
APP_SECRET: "your_app_secret_change_this"
DATABASE_URL: "postgresql://docmost:your_db_password@db:5432/docmost"
REDIS_URL: "redis://redis:6379"
volumes:
- docmost_storage:/app/data/storage
depends_on:
- db
- redis
db:
image: postgres:16-alpine
container_name: docmost-db
restart: always
environment:
POSTGRES_USER: docmost
POSTGRES_PASSWORD: your_db_password
POSTGRES_DB: docmost
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U docmost"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
container_name: docmost-redis
restart: always
volumes:
- redis_data:/data
volumes:
docmost_storage:
postgres_data:
redis_data:
EOF
生成随机密钥并替换配置中的占位值:
openssl rand -hex 32
3.3 启动服务
docker compose up -d
docker compose logs -f docmost
启动完成后,访问 http://你的服务器IP:3000 进入 Docmost 初始化页面,设置工作区名称和管理员账户。
四、Nginx 反向代理与 HTTPS
apt update && apt install nginx -y
cat > /etc/nginx/sites-available/docmost <<'EOF'
server {
listen 80;
server_name docs.example.com;
client_max_body_size 50m;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
EOF
ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.example.com
配置完成后更新 Compose 文件中的 APP_URL 为 HTTPS 地址并重启服务。
五、Docmost 使用指南
5.1 空间管理
空间是 Docmost 的核心组织单元。每个空间可以包含一棵完整的文档树,适合按项目、部门或主题分类。创建空间时可以设置描述和图标,并指定空间的默认权限级别。你可以创建公开空间(所有成员可见)或私有空间(仅受邀成员可见)。
5.2 文档编辑
Docmost 使用块式编辑器,通过输入 / 可以快速插入各种内容块:标题、列表、代码块、表格、引用、分割线、图片、视频嵌入、数学公式(KaTeX)等。支持 Markdown 语法快捷输入,例如输入 ## 加空格自动转换为二级标题。文档支持嵌套子页面,构建多层级的文档结构。
5.3 实时协作
邀请团队成员后即可开始实时协作。多人同时编辑同一文档时,每个人的光标和选中区域会以不同颜色高亮显示。所有更改实时同步,无需手动保存。文档的编辑历史完整记录,可以随时查看任意版本并恢复。
5.4 评论与讨论
团队成员可以在文档中选中文本添加评论,针对具体内容展开讨论。评论支持回复和 @提及功能,方便团队沟通。
六、邮件与通知配置
在 Compose 的 environment 部分添加 SMTP 配置以启用邮件通知:
MAIL_DRIVER: "smtp"
MAIL_HOST: "smtp.example.com"
MAIL_PORT: "587"
MAIL_USERNAME: "your-email@example.com"
MAIL_PASSWORD: "your-email-password"
MAIL_FROM_ADDRESS: "noreply@example.com"
MAIL_FROM_NAME: "Docmost"
七、备份与升级
# 备份 PostgreSQL 数据库
docker exec docmost-db pg_dump -U docmost docmost > /opt/docmost/backup_$(date +%Y%m%d).sql
# 备份文件存储
docker cp docmost:/app/data/storage /opt/docmost/storage_backup_$(date +%Y%m%d)
# 升级 Docmost
cd /opt/docmost
docker compose pull
docker compose down
docker compose up -d
总结
Docmost 是一款现代化的文档协作平台,为团队提供了类似 Notion 的编辑体验和 Confluence 的组织能力。部署在搬瓦工 VPS 上,你可以完全掌控文档数据的安全和隐私。如果你需要更偏向白板和笔记的工具,可以参考 AFFiNE 部署教程。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。