侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 84 篇文章
  • 累计创建 31 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

平替飞书和Notion?快速部署一个开源的在线文档协作工具:Docmost

羊刀仙
2024-10-28 / 0 评论 / 0 点赞 / 62 阅读 / 4900 字
温馨提示:
本文最后更新于 2024-10-28,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好,我是羊刀仙。

本期为大伙带来一个开源协作wiki和文档项目:Docmost。官方称他是 Confluence 和 Notion 的替代方案,支持Docker一键部署。

Docmost设计重点是团队知识管理,提供类似于 Confluence 的文档协作功能和 Notion 的简洁布局,适用于知识库、项目文档、团队共享文档等场景。

68747470733a2f2f646f636d6f73742e636f6d2f73637265656e73686f74732f656469746f722e706e67.png

有飞书和Notion使用经验的朋友应该能够很快上手。

核心功能

✅ 实时协作编辑:多个用户可以同时编辑,支持富文本、图表(例如 Mermaid、Draw.io 和 Excalidraw)、表格和数学公式等。

✅ 权限系统和分区管理:通过分配权限和空间(Spaces)来管理不同团队和项目的访问权限,确保信息的安全性和分区的可管理性。

✅ 评论和历史记录:支持页面内嵌评论以及页面的历史版本查看与恢复,便于团队间的讨论和文档的追溯。

✅ 搜索功能:基于 PostgreSQL 的全文检索系统,能够快速查找页面内容。

✅ 附件支持:可直接在页面中粘贴图片或视频,支持 S3 和本地存储。

QQ20241028-170021.png

Docmost 的特点在于可自托管、免费使用,并且灵活适用于各类团队和个人用户,有助于提升文档协作效率。项目地址见下图。

截屏2024-10-28 15.11.40.png

部署流程

本文通过Docker Compose部署,所有平台基本通用。演示设备:威联通TS-673A。

准备文件目录

打开文件总管,在Docker常用路径下创建名为docmost的文件夹,并在其下再创建一个db_dataredis_data文件夹,大家可以抄作业也可自行设置。如下图所示。

截屏2024-10-28 14.20.28.png

创建应用程序

打开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中填写的是你准备在外网访问该项目的完整地址!非标准端口的话,端口号也要填!!

截屏2024-10-28 14.31.54.png
检查无误,则创建项目。我第一遍没创建成功,看日志发现是因为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: <发件人名称>

QQ20241028-163517.png

反向代理

要想实现随时随地安全地对服务器设备等进行管理,就需要添加反向代理。因为部署于NAS,依然是通过Lucky来实现。关于Lucky的部署和使用,请见往期文章。

这里放一张截图配置供大家参考。服务类型选择反向代理,前端地址为自定义二级域名,后端地址为内网服务的完整访问地址。填写完毕后点击修改规则服务即可。

截屏2024-10-28 16.08.49.png

使用介绍

输入APP_URL中填写的访问地址,进入项目,创建账户和工作空间。

截屏2024-10-28 14.42.04.png

点击右上角,进入设置界面。

截屏2024-10-28 15.03.54.png

在设置中可以进行账户设置,创建不同的工作组以及成立各种团队(人员权限),并且可以邀请人员以及进行单独的权限设置。

截屏2024-10-28 15.06.13.png

我大概折腾了一下,效果如下。

截屏2024-10-28 15.49.02.png

在不同的类型下,若要创建子集,选中并拖动项目即可,之后在其下新建就行。

截屏2024-10-28 15.58.29.png

支持查看历史修改记录,可导出文档为Markdown或HTML,支持直接PDF打印。

截屏2024-10-28 16.38.08.png

可以版本回溯。

截屏2024-10-28 16.37.22.png

支持功能很多也挺全面。

68747470733a2f2f646f636d6f73742e636f6d2f73637265656e73686f74732f656469746f722e706e67.png

最后

项目推出也已经有段时间了,虽然作者公告上写的仍处于测试阶段,个人体验感觉挺不错,大家可以持续关注更新。

目前的小遗憾是没有中文支持吧,不过里面英文内容都没什么理解难度,有能力的大佬也可以尝试参与一下项目建设。

感谢观看,本文完。

0

评论区