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 许可协议。转载请注明出处!
相关文章
GitLab的安装、配置、使用
前言 上周去参与“中国数字经济创新发展大会”了,然后又忙新项目的事情,博客又有一段时间没有更新,今天周一事情比较少,立刻开始写文,最近有挺多值得记录的东西~ 进入正文,最近我们搭了个Gitlab,并且把正在开发的项目代码都迁移到自建的Gitlab上,整个过程还是比较流畅的~~(就是有点费内存~~ PS:立即下单给这台服务器买了四条16G内存组四通道~ 在此之前,我们团队一直使用Gitee企业版作为
2022-07-21 · DevOps · 约 1 分钟
lighthouse-fw:一个管理腾讯云轻量服务器防火墙的终端工具
公网IP一换手动改防火墙?这效率也配叫程序员? 一个增量diff引擎+系统钥匙串+TUI/CLI双模,443行重构包完事。 uvx直接跑,别告诉我还要pip install。
2026-05-02 · DevOps · 约 1 分钟
兼容sentry协议的轻量级监控,glitchtip
上一篇文章说了重启 sentry 的事 因为过程太折腾了,一度想过放弃 sentry 换成其他比较轻量级的开源监控系统
2024-07-23 · DevOps · 约 1 分钟
单点认证(SSO)方案调研总结
单点登录(SSO)是一种身份验证解决方案,可让用户通过一次性用户身份验证登录多个应用程序和网站。这意味着用户只需输入一次用户名和密码,即可访问所有相互信任的系统,而无需在每个系统中单独登录。
2025-01-14 · DevOps · 约 1 分钟
讨论
共 0 条加载评论中…