Deploy MatterMost - Open-Source Team Collaboration Platform
MatterMost, an open-source collaboration platform, self-hosted for security and control? Deployment involves fiddling with Docker configurations, and the SSO integration documentation is frustrating. The mobile app isn't available on the Play Store, the interface is off-putting—why bother torturing yourself? SaaS is more hassle-free.
目录13 个章节
Preface
As mentioned in previous articles, the topic of deploying MatterMost has come up.
This article aims to document that process.
About MatterMost
MatterMost is somewhat similar to collaboration tools like Slack and integrates quite well with GitLab. Since we've been using GitLab anyway, we decided to deploy it and give it a try.
MatterMost is an open-source team collaboration and communication platform designed to provide secure, controllable instant messaging solutions for enterprises and organizations. Compared to other instant messaging tools, MatterMost has the following notable features and advantages:
Open Source and Self-Hosting
MatterMost is open-source, which means anyone is free to view, modify, and extend its source code. Users can choose to self-host, giving them complete control over their data to ensure the security and privacy of sensitive information. This is particularly important for organizations with strict data security requirements.
Multi-Platform Support
MatterMost supports multiple platforms, including Windows, macOS, Linux, iOS, and Android, allowing users to seamlessly use it across different devices. Additionally, MatterMost provides a powerful web application, enabling users to access all its features without needing to install client software.
Rich Features
MatterMost offers a wide range of features to meet the needs of team collaboration, including:
- Instant Messaging: Supports one-on-one and group chats, allowing users to communicate in real time.
- File Sharing: Users can share files within conversations, supporting multiple file formats.
- Video Conferencing: Integrated video conferencing functionality facilitates face-to-face communication.
- Notifications and Reminders: Flexible notification settings ensure users don't miss important information.
- Search Function: A powerful search function helps users quickly find the information and files they need.
Integration and Extensibility
MatterMost boasts rich integration capabilities, seamlessly connecting with various third-party applications and services such as Jira, GitHub, and Jenkins. In addition, MatterMost offers a powerful API and plugin system (插件系统), enabling developers to build custom features based on their needs and further extend its functionality.
Security
Security is one of MatterMost's core strengths. It provides multi-layered security protections, including data encryption, Single Sign-On (SSO), Multi-Factor Authentication (MFA), and role and permission management, to ensure the security of user data.
Community and Support
As an open-source project, Mattermost has a vibrant community where users can seek help, share experiences, and offer suggestions. Mattermost also provides commercial support services, allowing users to choose different levels of technical support and service according to their needs.
Deploying MatterMost
Official documentation: https://docs.mattermost.com/install/install-docker.html#deploy-mattermost-on-docker-for-production-use
Here is my deployment process:
First, clone the project.
git clone https://github.com/mattermost/docker
mv docker mattermost
cd mattermost
Modify the .env configuration.
cp env.example .env
Just modify the DOMAIN configuration for your domain. Other settings can be adjusted as needed.
Create directories and set permissions.
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost
Docker Compose
After cloning and creating several folders, the directory structure looks like this:
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
This time, the official Compose configuration was not modified.
Instead, a new custom configuration docker-compose.swag.yml was added
to connect the Mattermost service to the SWAG network.
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
To start the services:
sudo docker compose -f docker-compose.yml -f docker-compose.swag.yml up -d
Integrating GitLab SSO
This was a bit of a hassle.
At first, I kept getting the error The redirect URI included is not valid.
After a lot of research, I finally got it to work.
First of all, the MatterMost documentation itself is a bit misleading. You can't create the GitLab application in your user's personal settings.
Instead, you need to go to the GitLab Admin Area and create a global application to enable SSO.
For the callback URLs, I added these two:
https://mattermost.example.com/signup/gitlab/complete
https://mattermost.example.com/login/gitlab/complete
How did I figure it out? It turns out GitLab itself offers a native integration feature for MatterMost. You can find details in the GitLab documentation: https://docs.gitlab.com/ee/integration/mattermost/
After I enabled this feature in my configuration, GitLab automatically created the application for me. Later, I disabled the feature but continued to use the same application, and I successfully implemented the functionality to log into MatterMost using GitLab...
Summary
Quite troublesome.
Actually, I found that MatterMost's mobile app doesn't support playbooks? That seems a bit like a chicken rib—somewhat not quite useful.
Then for this kind of team collaboration tool, perhaps it's still better to use a SaaS service.
I also tried wekan later, but its interface was so off-putting that it immediately discouraged me.
References
_EOF_
Deploy MatterMost - Open-Source Team Collaboration Platform
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
关于DevOps
前天写了Gitlab安装配置的文章,把之前在Gitee企业版上的大部分项目迁移到本地Gitlab管理,用着还不错~ 随着项目的规模逐渐变大以及手头上开发维护的项目逐渐变多,DevOps的重要性也逐渐凸显,目前我们开发、测试和部署的流程还是相对原始,意识到这点之后我开了一个新的博客分类(DevOps),边学边记录~ https://zh.m.wikipedia.org/zh-sg/DevOps
2022-07-21 · DevOps · 约 1 分钟
开启GitLab的邮件通知功能以及一些外观配置
这次把邮件功能、域名、外观啥的配置好了,写篇文章记录一下
2024-07-17 · DevOps · 约 1 分钟
重启sentry+升级ExceptionLess版本,docker排坑记录
折腾的过程真的是究极折磨,写这篇文章仿佛又被折磨了一遍……
2024-07-19 · DevOps · 约 1 分钟
兼容sentry协议的轻量级监控,glitchtip
上一篇文章说了重启 sentry 的事 因为过程太折腾了,一度想过放弃 sentry 换成其他比较轻量级的开源监控系统
2024-07-23 · DevOps · 约 1 分钟
讨论
共 0 条加载评论中…