前言

之前的文章有提到部署 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 ,结果这界面直接劝退了。

参考资料

部署MatterMost-开源团队协作平台的更多相关文章

  1. 国内外开源与 SaaS ,团队协作平台、项目管理工具整理

    整理一些开源与 SaaS ,团队协作平台.项目管理工具.还有哪些比较好的工具,可以推荐下? 名称 地址 备注 asana https://asana.com/ 国外 basecamp https:// ...

  2. slack 团队协作平台

    /**************************************************************************** * slack 团队协作平台 * 说明: * ...

  3. 一键部署joomla开源内容管理平台

    https://market.azure.cn/Vhd/Show?vhdId=10896&version=12949 产品详情 产品介绍Joomla是一套自由.开放源代码的内容管理系统,以PH ...

  4. 利用Team@OSC进行团队协作开发平台

    利用Team@OSC进行团队协作开发平台 Team@OSC介绍 Team@OSC 是一个团队协作开发平台,轻松管理轻量级团队.代码运行平台(PaaS).代码质量检查应有尽有. 链接:https://t ...

  5. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  6. #研发解决方案#研发协作平台CloudEngine

    Cloud Engine:大杀器如何炼成 郑昀(微博:http://weibo.com/yunzheng) 创建于2016/6/18 最后更新于2016/6/19 点击查看我的<如何从零搭建一个 ...

  7. [持续交付实践] 研发协作平台:DevOps背景下的组织结构

    前言 今年以来做的事情越来越杂,负责的技术方向越来越广,精力越来越分散(创业公司的典型特点),编码的时间越来越少,有时候也会觉得很疲惫没办法专注一个事情. 除了技术方向上的实践,组织上如何组建一个最优 ...

  8. 利用Git进行团队协作

    前言: 这里简单介绍一下Git的历史. 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代.Linux 内核开源项目有着为数众广的参与者.绝大多数的 Linux 内核维护工作都花在了 ...

  9. 零基础ASP.NET Core WebAPI团队协作开发

    零基础ASP.NET Core WebAPI团队协作开发 相信大家对“前后端分离”和“微服务”这两个词应该是耳熟能详了.网上也有很多介绍这方面的文章,写的都很好.我这里提这个是因为接下来我要分享的内容 ...

  10. 开源推荐 - CoDo开源一站式DevOps平台

    一群有梦想的年轻人开源了一个云管理平台,他们的口号是:让天下没有996的运维 有幸参与到CoDo项目的开发,这是一个非常棒的一站式开源运维平台,分享给大家 平台介绍 CODO是一款为用户提供企业多混合 ...

随机推荐

  1. 增补博客 第四篇 python 中文级联菜单

    from pypinyin import pinyin, Style # 定义菜单项和对应的子菜单 menu = { "文件": { "新建": {}, &qu ...

  2. Linux命令行配置RIAD5

    环境准备: 系统: redhat6.9 硬盘:300G*3 SAS MegaCli是一款管理维护硬件RAID软件,可以用来查看raid信息等 1. 安装MegaCli rpm -ivh Lib_Uti ...

  3. 《最新出炉》系列入门篇-Python+Playwright自动化测试-52- 字符串操作 - 下篇

    1.简介 在日常的自动化测试工作中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥 ...

  4. Android 自定义带动画的柱状图

    功能分析 假设要使用柱状图展示用户一周的数据,通用的做法是对接三方图表SDK或者自己通过代码绘制. 1.三方SDK通常包体较大,且定制性差,对特定的UI需求兼容性差; 2.自己绘制,比较复杂,而且要考 ...

  5. python基础-基本语句

    1 条件语句 在进行逻辑判断时,我们需要用到条件语句,Python 提供了 if.elif.else 来进行逻辑判断.格式如下所示: 1 if 判断条件1: 2 执行语句1... 3 elif 判断条 ...

  6. debian12 安装ch343驱动

    前言 最近心血来潮,装了一台debian12玩,安装完毕arduino后发现没有ch343驱动,倒是在 ls /lib/modules/6.1.0-13-amd64/kernel/drivers/us ...

  7. Java中final用法与详解

    final作为Java中经常用到的关键字,了解final的使用方法是非常有必要的. 这里从final关键字在数据域.方法和类中三个方面分析final关键字的主要用法. final应用于基本数据类型 1 ...

  8. Pypi配置API Token

    技术背景 在许久之前写的一篇博客中,我们介绍过使用twine向pypi上传我们自己的开源包的方法.最近发现这个方法已经不再支持了(报错信息如下所示),现在最新版需要使用API Token进行文件上传, ...

  9. 一套基于 Ant Design 和 Blazor 的开源企业级组件库

    前言 今天大姚给大家分享一套基于Ant Design和Blazor的开源(MIT License).免费的企业级组件库(喜欢Ant Design风格的同学推荐使用):Ant Design Blazor ...

  10. vue中 lang="ts"与js的区别

    `lang="ts"` 与 `js` 的区别在于指定了脚本语言的类型,其中: - `lang="ts"` 指定了 TypeScript,一种由微软开发的 Jav ...