部署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

以下是我的部署过程

把项目拉下来

bash 复制代码
git clone https://github.com/mattermost/docker
mv docker mattermost
cd mattermost

修改 .env 配置

bash 复制代码
cp env.example .env

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

创建目录并设置权限

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

docker compose

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

python 复制代码
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 的网络中

yaml 复制代码
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

启动

bash 复制代码
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

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

python 复制代码
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 ,结果这界面直接劝退了。

参考资料

相关推荐
切糕师学AI18 小时前
GitLab 是什么?
gitlab
明月心9522 天前
git remote add 用法
gitlab
only_Klein3 天前
jenkins流水线报错:Connection reset by peer
ci/cd·kubernetes·gitlab·jenkins·ssl
_运维那些事儿3 天前
skywalking链路追踪
java·运维·ci/cd·软件构建·skywalking·devops
小魏小魏我们去那里呀3 天前
Alibaba Cloud DevOps Integration For JetBrains 插件使用指南
ide·阿里云·devops·jetbrains
爬山算法3 天前
Hibernate(84)如何在DevOps流程中使用Hibernate?
oracle·hibernate·devops
会写代码的饭桶4 天前
【DevOps实战】使用 GitHub Actions 自动构建镜像并双推至 Docker Hub 和 GHCR
docker·自动化·github·devops
梁萌4 天前
docker部署gitlab和gitlab runner
docker·eureka·gitlab
研发小能4 天前
主流DevOps平台对比分析:嘉为蓝鲸 vs GitLab vs Azure DevOps vs Jenkins
devops·devops产品·devops平台·devops厂商·国产devops厂商
爱内卷的学霸一枚4 天前
现代DevOps实践:从CI/CD到GitOps的深度技术解析
运维·ci/cd·devops