大家好,我是羊刀仙。
本期为大伙带来一个开源协作wiki和文档项目:Docmost。官方称他是 Confluence 和 Notion 的替代方案,支持Docker一键部署。
Docmost设计重点是团队知识管理,提供类似于 Confluence 的文档协作功能和 Notion 的简洁布局,适用于知识库、项目文档、团队共享文档等场景。
有飞书和Notion使用经验的朋友应该能够很快上手。
核心功能
✅ 实时协作编辑:多个用户可以同时编辑,支持富文本、图表(例如 Mermaid、Draw.io 和 Excalidraw)、表格和数学公式等。
✅ 权限系统和分区管理:通过分配权限和空间(Spaces)来管理不同团队和项目的访问权限,确保信息的安全性和分区的可管理性。
✅ 评论和历史记录:支持页面内嵌评论以及页面的历史版本查看与恢复,便于团队间的讨论和文档的追溯。
✅ 搜索功能:基于 PostgreSQL 的全文检索系统,能够快速查找页面内容。
✅ 附件支持:可直接在页面中粘贴图片或视频,支持 S3 和本地存储。
Docmost 的特点在于可自托管、免费使用,并且灵活适用于各类团队和个人用户,有助于提升文档协作效率。项目地址见下图。
部署流程
本文通过Docker Compose部署,所有平台基本通用。演示设备:威联通TS-673A。
准备文件目录
打开文件总管,在Docker常用路径下创建名为docmost
的文件夹,并在其下再创建一个db_data
和redis_data
文件夹,大家可以抄作业也可自行设置。如下图所示。
创建应用程序
打开Docker管理工具,创建新的应用程序。代码如下:
version: '3' # 最新版本docker compose这行可删除
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'http://localhost:3000' # 访问地址,反代则要替换成反代后的域名,提前填写就行,不耽误后面操作
APP_SECRET: 'REPLACE_WITH_LONG_SECRET' # 密码自行设置
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public' # DB_PASSWORD可自行设置,但要与下面db项目密码一致
REDIS_URL: 'redis://redis:6379'
ports:
- "3000:3000"
restart: unless-stopped
volumes:
- /share/Container/docmost:/app/data/storage
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD # 与上面一致
restart: unless-stopped
volumes:
- /share/Container/docmost/db_data:/var/lib/postgresql/data
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- /share/Container/docmost/redis_data:/data
注意重点:APP_URL
访问地址填写正确、STRONG_DB_PASSWORD
数据库密码上下一致以及文件映射目录。
若想外网访问,APP_URL
中填写的是你准备在外网访问该项目的完整地址!非标准端口的话,端口号也要填!!
检查无误,则创建项目。我第一遍没创建成功,看日志发现是因为APP_SECRET: 'REPLACE_WITH_LONG_SECRET'
引号中的密码没设置,所以大家别偷懒哈~
如果团队使用,请在环境变量中新增邮件服务器配置,这是必须的,邀请新成员要用到它。
# 以QQ邮箱为例,更多其他配置具体见官方手册
MAIL_DRIVER: smtp
SMTP_HOST: smtp.qq.com
SMTP_PORT: 465 # 或 587,具体取决于是否使用 SSL/TLS
SMTP_USERNAME: <您的QQ邮箱地址>
SMTP_PASSWORD: <您的授权码>
SMTP_SECURE: ssl # 或 tls,取决于端口
MAIL_FROM_ADDRESS: <您的QQ邮箱地址>
MAIL_FROM_NAME: <发件人名称>
反向代理
要想实现随时随地安全地对服务器设备等进行管理,就需要添加反向代理。因为部署于NAS,依然是通过Lucky来实现。关于Lucky的部署和使用,请见往期文章。
这里放一张截图配置供大家参考。服务类型选择反向代理,前端地址为自定义二级域名,后端地址为内网服务的完整访问地址。填写完毕后点击修改规则服务即可。
使用介绍
输入APP_URL
中填写的访问地址,进入项目,创建账户和工作空间。
点击右上角,进入设置界面。
在设置中可以进行账户设置,创建不同的工作组以及成立各种团队(人员权限),并且可以邀请人员以及进行单独的权限设置。
我大概折腾了一下,效果如下。
在不同的类型下,若要创建子集,选中并拖动项目即可,之后在其下新建就行。
支持查看历史修改记录,可导出文档为Markdown或HTML,支持直接PDF打印。
可以版本回溯。
支持功能很多也挺全面。
最后
项目推出也已经有段时间了,虽然作者公告上写的仍处于测试阶段,个人体验感觉挺不错,大家可以持续关注更新。
目前的小遗憾是没有中文支持吧,不过里面英文内容都没什么理解难度,有能力的大佬也可以尝试参与一下项目建设。
感谢观看,本文完。
评论区