之前的文章有提到部署 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 还提供了商业支持服务,用户可以根据需要选择不同级别的技术支持和服务。
以下是我的部署过程
把项目拉下来
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
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
这个是有点折腾的
一开始老是提示 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 ,结果这界面直接劝退了。