小团队协作,用公共 SaaS 聊天工具有两个顾虑:一是业务聊天记录存在别人服务器,二是免费版人数和功能受限。Mattermost 是开源的团队即时通讯平台,相当于自托管的 Slack,支持频道、私聊、文件、机器人集成,数据全在你自己的服务器。本文记录在雨云 VPS 上部署 Mattermost 的过程。
一、Mattermost 解决什么
核心能力:
- 频道+私聊:按项目、部门建频道,讨论分门别类;
- 文件与代码:直接拖文件、贴代码块,技术团队友好;
- 机器人/Webhook:接 CI、告警、自动化,和前面写过的 n8n(见 12296)、Gotify(见 12322)打通;
- 自托管:聊天记录、文件都在你服务器,不外流。
和 Gotify 不同,Gotify 是「单向推送通知」,Mattermost 是「双向聊天协作」,一个通知一个对话,定位不同。
二、环境准备
Mattermost 本体依赖 Postgres 和对象存储(或本地文件),建议 2 核 4G 起步,人多再升。系统 Ubuntu 22.04,装好 Docker(入门见 12235)。雨云国内节点对团队内部沟通延迟友好。
新用户用优惠码 admin01 可享 五折优惠,雨云支持 7 天无理由退款。入口:雨云官网。
三、部署要点与坑
官方提供 mattermost 镜像,配合 Postgres 与对象存储:
- 必须配 SMTP:邀请成员、通知邮件依赖发信服务;
- 站点 URL 要正式域名:
SiteURL填对外域名,用 IP 会出现回调和链接异常; - 文件存储:小团队可用本地卷,量大建议对象存储。
踩坑提醒:
- 不配 SMTP 收不到邀请:先准备好 SMTP 再建账号;
- 本地存储权限:容器用户对挂载目录要有写权限,否则上传文件失败;
- WebSocket 要放行:反向代理需放行
Upgrade头,否则「对方正在输入」和实时消息有延迟。
担心后台暴露可用 Authelia(见 12340)加登录层;容器编排用 Portainer(见 12310)统一管。
四、和自动化打通
把 Mattermost 的入站 Webhook 接到 n8n 工作流,可以让系统事件(部署完成、监控告警)自动发到指定频道;再结合 Gotify 做关键告警的手机推送,形成「频道讨论 + 手机强提醒」的组合。
五、典型场景
- 技术团队沟通:代码块、文件、CI 状态都在一个频道;
- 项目协作:按项目建频道,文档链接、决策记录集中;
- 告警中枢:监控系统告警进频道,团队可见可追溯。
合规提醒
团队聊天内容由成员产生,运营方需履行《网络安全法》信息内容管理责任,建立成员实名或使用规范,及时处置违法不良信息,并妥善保管聊天记录防止泄露。






