Mattermost 是一款开源团队协作平台,Go + React 技术栈,支持自托管、消息永久保存、全渠道通知、DevOps 集成。Apache 2.0 协议,37.8k Stars,是需要数据主权和私有化部署的团队首选沟通工具,可完全替代 Slack,文末附详细使用教程

🎤 引言

Slack 用起来很爽,但问题也很现实:免费版只保留最近 1 万条消息,消息一多就开始丢失历史;数据存在第三方,不符合很多企业的合规要求;月费逐年涨价,团队大了成本相当可观。

很多团队想找一个"功能对标、数据自主、预算可控"的替代品。Mattermost 就是这个定位。它是开源的团队协作平台,功能上对标 Slack,可以完全自托管,数据存在自己的服务器上,消息历史永久保存不缩水,集成生态也很丰富。

GitHub 上 37.8k Stars、8.7k Forks、22,673 Commits、1,100 位贡献者,技术栈是 Go(服务端)+ React(前端),Apache 2.0 协议开源。最新的 v11.7.3 版本在 2026 年 6 月刚发布,活跃度相当高。

它的 slogan 是"open source platform for secure collaboration across the entire software development lifecycle"——安全协作,覆盖软件全生命周期。这也是它和普通聊天工具最大的区别:为技术团队的工作流程设计,不只是发消息,而是把代码、通知、工具都串联起来。


⭐ 核心功能

1. 频道与消息——无消息量限制

Mattermost 的频道结构和 Slack 几乎一样:公开频道、私密频道、私信、群聊,支持置顶、收藏、搜索。和 Slack 的关键区别是:消息量不设上限,只取决于你的磁盘大小。不像 Slack 免费版那样到 1 万条就开始"先进先出"覆盖历史。

频道支持 Thread 讨论、@提及、快捷回复,消息支持 Markdown 格式、代码高亮、附件、表情反应。搜索功能支持全文本搜索,可以按人员、日期、频道过滤,查找历史消息比 Slack 直观得多。

2. 全渠道通知与集成

Mattermost 支持接入几乎所有主流工具的通知:

  • 代码/Git 集成:GitHub、GitLab、Bitbucket、Jenkins CI、CircleCI
  • DevOps 工具:Jira、Confluence、PagerDuty、Prometheus
  • 办公工具:Google Drive、Office 365、Dropbox
  • 自定义 Webhook:任何支持 Webhook 的工具都可以桥接进来

通知可以通过邮件、桌面应用、移动端(iOS/Android)推送,支持分渠道、分关键词的精细化路由规则。比如"Jenkins 构建失败了才推送到 #dev-ops 频道",其他消息不打扰。

3. DevOps 工作流集成——真正的技术团队工具

这是 Mattermost 和普通团队沟通工具拉开差距的地方。它不只是"聊天 + 集成",而是专门针对技术团队工作流优化:

  • 代码审查通知:GitHub PR 创建、Review 请求、Merge 冲突直接推送到对应频道
  • CI/CD 流水线状态:Jenkins/CircleCI 构建结果自动推送,构建失败@相关开发者
  • 告警路由:Prometheus/Alertmanager 的告警按规则路由到不同值班人
  • 命令面板(Command Palette):Slash 命令可以直接触发 Jenkins 构建、查 Jira Issue、查 Confluence 文档

很多团队在 Slack 上用 Gremlin、Kapacula 等工具自己搭告警路由,Mattermost 把这些能力直接内置了,开箱即用,不需要自己维护中间件。

4. 完全自托管——数据主权

Mattermost 可以部署在自己数据中心的服务器上,也可以跑在私有云、混合云环境。社区版(Apache 2.0)完全免费,功能已经相当完整;企业版(需要付费许可)额外提供合规报告、SAML SSO、审计日志、高级访问控制等能力。

数据完全在自己服务器上,不经过任何第三方,符合金融、医疗、政府等行业的合规要求。对于有等保、GDPR、SOC2 等合规需求的团队,比用 Slack/Teams 省去了很多审批麻烦。

5. 可扩展与自定义

Mattermost 提供 Plugin API 和 REST API,可以:

  • 自定义 Slash 命令
  • 开发插件(Plugin)扩展功能
  • 接入自研内部工具的通知
  • 修改前端主题和布局

官方还提供 Mattermost Marketplace,可以直接安装社区开发的插件,不需要自己从零开发。


📥 安装与使用

Docker 单机部署(最简单)

# 下载 Docker Compose 配置
wget https://raw.githubusercontent.com/mattermost/mattermost/master/docker/docker-compose.yml

# 修改环境变量(数据库密码、域名等)
# 编辑 .env 文件

# 启动
docker-compose up -d

默认会启动 Mattermost 主应用 + PostgreSQL + Nginx(反向代理)。访问 http://your-domain:8065 即可进入首次配置向导。

详细手动部署(Ubuntu)

# 1. 安装 PostgreSQL
sudo apt install postgresql postgresql-contrib
sudo -u postgres psql

# 创建数据库和用户
CREATE USER mmuser WITH PASSWORD 'your-password';
CREATE DATABASE mattermost OWNER mmuser;
\\q

# 2. 下载 Mattermost Server
wget https://releases.mattermost.com/11.7.3/mattermost-11.7.3-linux-amd64.tar.gz
tar -xzf mattermost-11.7.3-linux-amd64.tar.gz
sudo mv mattermost /opt/

# 3. 配置 Systemd 服务
sudo vim /etc/systemd/system/mattermost.service
# [Unit]
# Description=Mattermost
# After=postgresql.service

# [Service]
# ExecStart=/opt/mattermost/bin/mattermost
# WorkingDirectory=/opt/mattermost
# User=mattermost

# [Install]
# WantedBy=multi-user.target

# 4. 配置 Mattermost
sudo vim /opt/mattermost/config/config.json
# 设置 DB 连接字符串、站点 URL、启用 TLS

# 5. 启动服务
sudo systemctl start mattermost
sudo systemctl enable mattermost

初始配置

首次访问管理后台(/admin)需要:

  1. 创建第一个管理员账号
  2. 配置团队名称
  3. 上传许可证文件(社区版跳过此步)
  4. 配置 SMTP 邮件服务器(用于通知)
  5. 配置集成(GitHub/GitLab Webhook 等)

接入 GitHub 集成示例:

# 在 Mattermost 管理后台 → 集成 → GitHub
# 获取 Webhook URL 后配置到 GitHub 仓库的 Webhook 设置
# 格式:https://your-mattermost-domain.com/hooks/your-hook-id

🎯 适用场景

需要数据主权的团队

金融、医疗、法律、政府这类行业,数据不能放到第三方平台。Mattermost 自托管到自己的服务器,数据完全自主,满足等保、GDPR、SOC2 等合规要求,比 Slack/Teams 的审批流程简单很多。

大型技术团队(50 人以上)

Slack 免费版 1 万条消息限制在大型团队里很快就超了,每个成员每年要付几百刀。Mattermost 社区版功能几乎等同于 Slack Pro,而且没有席位限制,服务器成本只有基础设施费用,省下的很可观。

DevOps 密集型团队

如果团队严重依赖 CI/CD 流水线、代码审查、告警监控,Mattermost 的集成生态和 DevOps 原生设计让这些工具天然串联,不需要自己维护复杂的 Zapier/IFTTT 桥接层。

开源社区和公共服务提供者

Mattermost 社区服务器是免费的,任何人都可以加入。很多开源项目(如 GitLab、Mattermost 自己)都提供社区服务器用于项目协作。


🔍 对比同类工具

工具费用自托管消息上限DevOps 集成技术栈
Mattermost免费(社区版)无上限内置强Go + React
Slack$75/人/月起1万条(免费版)需付费闭源
Rocket.Chat免费开源无上限一般Node.js
Zulip免费开源无上限一般Python
Microsoft Teams包含在 M365 中无限制闭源

Mattermost 和 Rocket.Chat/Zulip 都是开源自托管方案,核心区别在于:Mattermost 的 DevOps 集成深度是其他方案的两倍,Plugin 生态更丰富,企业功能(审计、合规)更完整。而 Slack 和 Teams 的优势在 UI 和品牌认知,但数据自主和成本都不占优势。


⚠️ 注意事项

社区版不含某些企业功能

Mattermost 有两个版本:社区版(Apache 2.0,开源免费)和企业版(商业许可)。高级功能如 SAML SSO、审计日志、高级访问控制(ABAC)、合规报告等需要企业版许可。中小团队用社区版功能基本够用,但如果需要这些高级功能就要评估费用。

移动端体验比 Slack 稍逊

Mattermost 的 iOS/Android 移动端功能完整,但 UI 流畅度和通知推送的及时性比 Slack 稍差。如果团队对移动端体验要求极高,这一点需要实际测试后再决定。

插件兼容需要关注版本

Mattermost 的 Plugin API 在不同版本之间可能有破坏性变更。如果团队自己开发了插件,升级大版本之前建议先在测试环境验证兼容性。官方文档里有详细的升级指南。

存储规划要提前做

消息无上限听起来很爽,但如果团队活跃度高,每天几万条消息,数据库增长速度很快。建议提前规划好 PostgreSQL 的存储空间和备份策略,配合定期清理旧附件等功能控制数据库大小。


✅ 总结

Mattermost 是一个把"技术团队协作"这件事做到极致的开源平台。消息永久保存、全渠道通知、DevOps 原生集成、完全自托管——这些特性让它在需要数据主权和合规要求的场景里,几乎没有对手。

它的优势总结:开源免费(社区版)、数据完全自主、DevOps 集成深度强、Plugin 生态丰富、社区活跃度高(37.8k Stars、22k+ Commits 说话)。

它的局限也要说清楚:某些企业功能需要商业许可、移动端体验略逊于 Slack、存储规划需要提前考虑。

对于技术团队来说,Mattermost 是那种"一旦用上就不会换"的工具。Slack 有的它基本都有,Slack 没有的(数据完全自主、无消息量限制)它更强。部署成本低,维护难度中等,团队里有一个人熟悉 Docker/Linux 就能跑起来。

推荐指数:★★★★★(适合所有需要安全协作、数据自主的技术团队)

项目地址:https://github.com/mattermost/mattermost