部署MatterMost的详细记录
之前的文章提到了部署MatterMost的事情。本文将详细记录MatterMost的部署过程。
关于MatterMost
MatterMost类似于Slack这样的协作工具,而且与GitLab的集成也不错。我们一直在使用GitLab,因此决定部署一个MatterMost来试试。
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,结果这界面直接劝退了。
参考资料
- https://github.com/mattermost/mattermost/issues/18990
- https://forum.mattermost.com/t/the-redirect-uri-is-not-valid-during-oauth-on-on-new-gitlab-v8-2-2-omnibus-installation/633/2