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 许可协议。转载请注明出处!
相关文章
兼容sentry协议的轻量级监控,glitchtip
上一篇文章说了重启 sentry 的事 因为过程太折腾了,一度想过放弃 sentry 换成其他比较轻量级的开源监控系统
2024-07-23 · DevOps · 约 1 分钟
lighthouse-fw:一个管理腾讯云轻量服务器防火墙的终端工具
公网IP一换手动改防火墙?这效率也配叫程序员? 一个增量diff引擎+系统钥匙串+TUI/CLI双模,443行重构包完事。 uvx直接跑,别告诉我还要pip install。
2026-05-02 · DevOps · 约 1 分钟
极大提高项目部署的生产力!分享一个半自动化的CICD实现方案
半自动CICD?听起来就像是对完全自动化方案的妥协。用脚本一键发布,还真能省事,不过得忍受服务器内网访问等麻烦。国内环境下的CI/CD,果然还是得自己想办法。
2025-07-11 · DevOps · 约 1 分钟
code-porter 代码工作区迁移工具
换电脑几十个项目手动拷?你不是懒就是蠢。写了code-porter,自动扫描、智能打包(bundle/zip),脏仓库也能保留未提交改动,一行uvx搞定。零依赖跨平台,U盘一插完事。别问我为什么不用rsync——它懂你项目结构?
2026-05-22 · DevOps · 约 1 分钟
讨论
共 0 条加载评论中…