开源Docmost知识库管理工具
Docmost 是一个开源的在线文档协作和知识库工具,它特别适合团队用来写文档、分享知识、管理项目,支持多人同时编辑文档,评论超方便,还能像画画一样轻松插入各种流程图、表格啥的。应用(Node.js 服务)在启动时检测到 APP_SECRET 环境变量不符合要求。APP_SECRET 不能是默认占位符值 “REPLACE_WITH_LONG_SECRET”需要调整docker-compose.ym
·
Docmost知识库管理工具
Docmost是什么
Docmost 是一个开源的协作 wiki 和文档软件。它是 Confluence 和 Notion 的开源替代方案。
官方文档:https://docmost.com/docs/
核心功能
- 主开发语言:主要使用 TypeScript 开发(性能好,扩展性强)
- 实时协作: 支持多人同时编辑文档,像 Google Docs 一样流畅。
- 可视化工具支持: 内置支持 Draw.io、Excalidraw、Mermaid 等画图工具,轻松制作专业文档。
- 权限管理: 可以灵活管理文档的访问权限,满足企业级安全需求。
- 全文搜索: 强大的搜索引擎让你秒找到需要的内容,再也不用翻半天。
- 文档历史记录: 支持版本管理,可以回溯任何时间段的文档内容。
- 多种嵌入功能: 能嵌入外部资源,比如 Airtable、Loom、Miro 等,让文档不仅是文字,还更直观。
- 文件附件: 方便上传和管理图片、PDF 等文件。
- 团队评论: 支持文档实时评论,提升团队沟通效率。
安装
环境准备
安装Docker和Docker Compose
# 安装基础工具
yum install -y net-tools wget vim # 解决网络命令缺失问题
# 安装 Docker 及 Docker Compose
yum install -y docker
systemctl start docker && systemctl enable docker
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
Docmost 部署流程
生成随机密钥(必须配置)
mkdir -p /opt/docmost && cd /opt/docmost
openssl rand -hex 32 #保存下该密钥
- 关键配置说明:
- APP_SECRET 必须使用长随机密钥,否则服务启动失败
- 数据库密码(POSTGRES_PASSWORD 和 DATABASE_URL)需设置为强密码且保持一致
编写 docker-compose.yml
version: '3'
services:
docmost:
image: docmost/docmost:latest
env_file: .env # 添加这一行引用配置
depends_on:
- db
- redis
environment:
APP_URL: "http://localhost:3000" # 后续绑定域名需修改
APP_SECRET: "5nx1BOmRGmz17pcxL0M9j1hWK5Jb0h25BlQ9i9YxLDk4jMzyTLl8lFSVOiIcdF5b" # 引用openssl生成的密钥
DATABASE_URL: "postgresql://docmost:YourDBPassword@db:5432/docmost?schema=public"
REDIS_URL: 'redis://redis:6379'
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- ./data:/app/data
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: "YourDBPassword" # 需与 DATABASE_URL 一致
restart: unless-stopped
volumes:
- ./db_data:/var/lib/postgresql/data
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- ./redis_data:/data
启动容器
docker-compose up -d # 后台启动
docker ps # 检查容器状态(应显示 Up)
配置邮件环境变量
新建用户当前只有通过邮件邀请
创建配置文件
cd /opt/docmost # 进入部署目录
vim .env # 创建环境变量文件
# .env 文件内容
MAIL_DRIVER=smtp
SMTP_HOST=smtp.qq.com
SMTP_PORT=465
SMTP_USERNAME=1678712889@qq.com
SMTP_PASSWORD=****absjjbha #授权码
SMTP_ENCRYPTION=ssl
SMTP_SECURE=true
SMTP_TLS_REJECT_UNAUTH=false
MAIL_FROM_ADDRESS=1678712889@qq.com
MAIL_FROM_NAME=Docmost
chmod 600 /opt/docmost/.env
重启服务:
docker-compose down && docker-compose up -d
- 邮箱服务要求:
- Gmail/QQ邮箱需开启 SMTP 服务
- Gmail 需开启两步验证并创建应用密码
启停
停止服务
docker compose down
启动服务
docker compose restart
初始化与访问
- 首次访问:
- 浏览器打开 http://<服务器IP>:3000,使用默认账号:
- 用户名:admin@example.com
- 密码:admin
- 浏览器打开 http://<服务器IP>:3000,使用默认账号:
- 强制修改密码:登录后进入 Settings > User Management,立即重置管理员密码
- 域名与 HTTPS 配置(可选):
- 修改 docker-compose.yml 中的 APP_URL 为域名(如 https://doc.yourdomain.com)。
- 通过 Nginx 反向代理配置 SSL 证书(推荐 Let’s Encrypt)
备份
备份期间停止写入:
docker-compose stop docmost docmost-worker
# 执行备份
docker-compose start docmost docmost-worker
数据库备份
# 完整数据库备份
docker exec docmost-db-1 pg_dump -U docmost -Fc docmost > docmost_db_$(date +%F).dump
# 创建仅数据备份(不含schema)
docker exec docmost-db-1 pg_dump -U docmost -a docmost > docmost_data_$(date +%F).sql
恢复数据库:
docker-compose down
docker volume rm docmost_db_data
docker-compose up -d db
docker exec -i docmost-db-1 psql -U docmost -d docmost < backup.sql
文件系统备份
# 备份整个应用目录
tar -czpf docmost_backup_$(date +%F).tar.gz \
/opt/docmost/data \
/opt/docmost/redis_data \
/opt/docmost/db_data \
/opt/docmost/docker-compose.yml \
/opt/docmost/.env \
恢复文件系统
tar -xzvf docmost_backup.tar.gz -C /opt/docmost
Redis 备份
# 创建RDB快照
docker exec docmost-redis-1 redis-cli save
docker cp docmost-redis-1:/data/dump.rdb docmost_redis_$(date +%F).rdb
重启服务:
docker-compose up -d
安装验证以及升级
# 查看日志确认运行状态
docker-compose logs -f docmost
升级版本
docker pull docmost/docmost:latest
docker compose up --force-recreate --build docmost -d
高级配置与优化
- 空间与权限管理:
- 创建 Spaces 划分不同项目区域,设置细粒度权限(编辑/只读)
- 数据备份:
- 定期备份 /opt/docmost 目录下的 data、db_data、redis_data 卷。
- 常见问题解决:
- 容器启动失败:检查 APP_SECRET 格式(需 64 位十六进制字符串) 。
- 数据库连接错误:确认 DATABASE_URL 与 POSTGRES_PASSWORD 一致性。
- 端口冲突:若 3000 端口被占用,修改 ports 为 “新端口:3000”。
故障无法解决强制重建容器
docker-compose down --volumes --remove-orphans # 停止并删除旧容器
docker system prune -af # 清理旧容器缓存
docker-compose up -d --force-recreate # 重新构建启动
镜像拉取报错
如果镜像无法下载,调整docker 的镜像地址
{
"registry-mirrors": [
"https://dockerpull.com",
"https://dockerproxy.cn",
"https://docker.loli.voto",
"https://docker.chenby.cn",
"https://docker-cf.registry.cyou",
"https://docker.m.daocloud.io",
"https://docker.ketches.cn",
"https://docker.1panel.dev",
"https://docker.1panel.live",
"https://docker.rainbond.cc",
"https://hub.rat.dev",
"https://docker.aityp.com/",
"https://docker.catiz.eu.org/"
]
调整成中文
http://localhost:3000
编辑文档
访问该网站可使excel 生成markdown文本
https://tableconvert.com/excel-to-markdown
- 复制表格内容
- 粘贴到网站文本框里
- 下拉找到Markdown
- 粘贴到Docmost
- 生成表格

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)