Loading

部署MatterMost-开源团队协作平台

前言

之前的文章有提到部署 MatterMost 的事。

本文来记录一下。

关于 MatterMost

MatterMost 有点像 Slack 这种协作工具,而且和 GitLab 的集成还不错,正好我们一直在用 GitLab,所以就部署一个来试试看。

MatterMost 是一款开源的团队协作和通讯平台,设计初衷是为企业和组织提供安全、可控的即时消息解决方案。与其他即时通讯工具相比,MatterMost 具有以下几个显著的特点和优势:

开源和自托管

MatterMost 是开源的,这意味着任何人都可以自由查看、修改和扩展其源代码。用户可以选择自托管,这样可以完全掌控数据,确保敏感信息的安全性和隐私性。这对于那些对数据安全有严格要求的组织尤其重要。

多平台支持

MatterMost 支持多种平台,包括 Windows、macOS、Linux、iOS 和 Android,用户可以在不同设备上无缝使用。此外,MatterMost 提供了强大的 Web 端应用,使用户无需安装客户端软件也能使用其所有功能。

丰富的功能

MatterMost 提供了广泛的功能来满足团队协作的需求,包括:

  • 即时消息:支持一对一聊天和群组聊天,用户可以实时交流。
  • 文件共享:用户可以在对话中分享文件,支持多种文件格式。
  • 视频会议:集成了视频会议功能,方便用户进行面对面的交流。
  • 通知和提醒:灵活的通知设置,确保用户不会错过重要信息。
  • 搜索功能:强大的搜索功能,帮助用户快速找到所需的信息和文件。

集成和扩展性

MatterMost 拥有丰富的集成功能,可以与多种第三方应用和服务无缝对接,如 Jira、GitHub、Jenkins 等。此外,MatterMost 提供了强大的 API 和插件系统,开发者可以根据需求开发自定义功能,进一步扩展其功能。

安全性

安全性是 MatterMost 的核心优势之一。它提供了多层次的安全保护措施,包括数据加密、单点登录 (SSO)、多因素认证 (MFA)、角色和权限管理等,确保用户数据的安全性。

社区和支持

作为一个开源项目,MatterMost 拥有一个活跃的社区,用户可以在社区中获取帮助、分享经验和建议。MatterMost 还提供了商业支持服务,用户可以根据需要选择不同级别的技术支持和服务。

部署 MatterMost

官方文档: https://docs.mattermost.com/install/install-docker.html#deploy-mattermost-on-docker-for-production-use

以下是我的部署过程

把项目拉下来

git clone https://github.com/mattermost/docker
mv docker mattermost
cd mattermost

修改 .env 配置

cp env.example .env

修改 DOMAIN 域名配置就行,其他的按需修改

创建目录并设置权限

mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost

docker compose

clone 以及创建几个文件夹之后的目录结构是这样

matter-most
├── contrib
├── docs
├── nginx
├── scripts
├── volumes
├── docker-compose.nginx.yml
├── docker-compose.swag.yml
├── docker-compose.without-nginx.yml
├── docker-compose.yml
├── env.example
├── LICENSE
└── README.md

这次没有修改官方的 compose 配置

而是新增了一个自己的配置 docker-compose.swag.yml

将 mattermost 服务接入到 swag 的网络中

services:
  postgres:
    container_name: mattermost_pgsql
    networks:
      - default

  mattermost:
    container_name: mattermost
    ports:
      - ${CALLS_PORT}:${CALLS_PORT}/udp
      - ${CALLS_PORT}:${CALLS_PORT}/tcp
    networks:
      - default
      - swag

networks:
  default:
    name: mattermost
  swag:
    external: true

启动

sudo docker compose -f docker-compose.yml -f docker-compose.swag.yml up -d

接入GitLab SSO

这个是有点折腾的

一开始老是提示 The redirect URI included is not valid.

查了好久资料,还是解决了

首先 MatterMost 里的文档就是有问题的,不能在用户个人设置那里创建 GitLab 应用

而是要进入 GitLab 的管理后台创建一个全局应用,才能实现 SSO

然后回调地址我是添加了这俩

https://mattermost.example.com/signup/gitlab/complete
https://mattermost.example.com/login/gitlab/complete

怎么发现的呢?其实 GitLab 本身可以提供 MatterMost 的集成功能,详见 GitLab 文档: https://docs.gitlab.com/ee/integration/mattermost/

然后我在配置里启用了这个功能之后,GitLab 自动给我创建了这个应用,后面我又关闭这个功能,但依然使用这个应用,就成功实现了使用 GitLab 登录 MatterMost 的功能……

小结

好折腾啊

实际上发现 MatterMost 的手机App用不了playbooks?有点鸡肋了

然后这类团队协作工具,也许还是得用 SaaS 服务好一点。

我后面还试了一下 wekan ,结果这界面直接劝退了。

参考资料

posted @ 2024-08-06 16:33  程序设计实验室  阅读(139)  评论(1编辑  收藏  举报