# Mattermost — Open Source Slack Alternative for Team Collaboration > Mattermost is an open-source messaging platform for secure team collaboration. Channels, threads, voice/video calls, playbooks, and integrations — self-hosted Slack alternative. ## Install Save in your project root: ## Quick Use ```bash docker run -d --name mattermost -p 8065:8065 -v mattermost-data:/mattermost/data -v mattermost-config:/mattermost/config mattermost/mattermost-team-edition:latest ``` Open `http://localhost:8065` — create your first team and start collaborating. ## Intro **Mattermost** is an open-source platform for secure team collaboration across the entire software development lifecycle. It provides Slack-like messaging with channels, threads, and direct messages, plus voice/video calls, playbooks for incident response, and deep integrations with DevOps tools — all self-hosted for complete data control. With 36.1K+ GitHub stars, Mattermost is the leading open-source Slack alternative, trusted by organizations from startups to defense departments that require data sovereignty and security compliance. ## What Mattermost Does - **Messaging**: Channels (public/private), direct messages, group messages, threads - **Voice & Video**: Built-in voice and video calls with screen sharing - **Playbooks**: Structured workflows for incident response, onboarding, and release processes - **File Sharing**: Drag-and-drop file uploads with preview and search - **Integrations**: 200+ integrations via webhooks, slash commands, and plugins - **Search**: Full-text search across all messages, files, and channels - **Compliance**: Message retention, compliance exports, eDiscovery, and audit logs - **Mobile**: Native iOS and Android apps with push notifications - **SSO**: SAML, OAuth 2.0, LDAP/AD, and GitLab authentication ## Architecture ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Web / Desktop│────▶│ Mattermost │────▶│ PostgreSQL │ │ / Mobile App │ │ Server (Go) │ │ (Data) │ └──────────────┘ └──────┬───────┘ └──────────────┘ │ ┌─────────────┼─────────────┐ │ │ │ ┌──────┴──┐ ┌─────┴───┐ ┌─────┴───┐ │ MinIO │ │ Elastic │ │ SMTP │ │ (Files) │ │ (Search)│ │ (Email) │ └─────────┘ └─────────┘ └─────────┘ ``` ## Self-Hosting ### Docker Compose ```yaml services: mattermost: image: mattermost/mattermost-team-edition:latest ports: - "8065:8065" environment: MM_SQLSETTINGS_DRIVERNAME: postgres MM_SQLSETTINGS_DATASOURCE: postgres://mmuser:mmpass@db:5432/mattermost?sslmode=disable MM_SERVICESETTINGS_SITEURL: http://localhost:8065 depends_on: - db volumes: - mm-config:/mattermost/config - mm-data:/mattermost/data - mm-logs:/mattermost/logs - mm-plugins:/mattermost/plugins db: image: postgres:16-alpine environment: POSTGRES_USER: mmuser POSTGRES_PASSWORD: mmpass POSTGRES_DB: mattermost volumes: - pg-data:/var/lib/postgresql/data volumes: mm-config: mm-data: mm-logs: mm-plugins: pg-data: ``` ## Key Features ### Channels & Organization ``` Team: Engineering ├── #general — Team-wide announcements ├── #frontend — Frontend discussions ├── #backend — Backend discussions ├── #incidents — Active incident coordination ├── #standup — Daily standups (bot-assisted) └── Private: #leadership — Management only ``` ### Playbooks (Workflows) Pre-built workflows for repeatable processes: ``` Incident Response Playbook: 1. Create incident channel (auto) 2. Assign commander and communications lead 3. Checklist: Assess severity, notify stakeholders 4. Status updates every 30 min (reminder bot) 5. Retrospective template (post-incident) 6. Archive and timeline export Release Playbook: 1. Create release channel 2. Feature freeze checklist 3. QA sign-off tasks 4. Deploy steps with verification 5. Rollback procedures 6. Post-release monitoring ``` ### Integrations ``` DevOps: ├── GitHub / GitLab — PR notifications, issue updates ├── Jira — Ticket creation from messages ├── Jenkins / CircleCI — Build notifications ├── PagerDuty — Incident alerts in channels └── Grafana / Prometheus — Alert forwarding Productivity: ├── Zoom / Jitsi — Video call integration ├── Google Calendar — Meeting reminders ├── Trello / Asana — Task management ├── Confluence — Doc link previews └── Custom Webhooks — Any service ``` ### Slash Commands ``` /jira create [summary] — Create Jira ticket /github subscribe owner/repo — Get PR/issue notifications /zoom start — Start a Zoom meeting /poll "Question" "Option 1" "Option 2" — Create a poll /standup — Post daily standup update ``` ### Bot & API ```bash # Post a message via webhook curl -X POST http://localhost:8065/hooks/your-webhook-id -H "Content-Type: application/json" -d '{"text": "Build #123 passed ✅", "channel": "ci-notifications"}' # REST API curl http://localhost:8065/api/v4/users/me -H "Authorization: Bearer YOUR_TOKEN" ``` ## Mattermost vs Alternatives | Feature | Mattermost | Slack | Microsoft Teams | Rocket.Chat | |---------|-----------|-------|-----------------|-------------| | Open Source | Yes | No | No | Yes | | Self-hosted | Yes | No | Hybrid | Yes | | Voice/Video | Built-in | Huddles | Built-in | Built-in | | Playbooks | Built-in | Workflows (paid) | No | No | | Compliance | Export/eDiscovery | Enterprise | Enterprise | Basic | | Mobile | iOS + Android | iOS + Android | iOS + Android | iOS + Android | | SSO | SAML/LDAP/OAuth | Enterprise | Azure AD | SAML/LDAP | | Pricing | Free (Team) | Free + $8.75/user | $4/user | Free + paid | ## 常见问题 **Q: Mattermost Team Edition 和 Enterprise Edition 区别?** A: Team Edition 是完全免费开源的,包含核心消息、频道、文件共享、Playbooks 和集成功能。Enterprise Edition 增加了高可用、合规导出、SAML SSO、AD/LDAP 群组同步等企业功能。 **Q: 可以从 Slack 迁移吗?** A: 可以。Mattermost 提供 Slack 导入工具,支持导入频道、消息历史、用户和文件。用户体验和快捷键也与 Slack 高度相似,团队切换成本低。 **Q: 对服务器要求?** A: 50 用户以内:2 核 4GB RAM。200 用户以内:4 核 8GB。大规模部署建议使用高可用集群配置。 ## 来源与致谢 - GitHub: [mattermost/mattermost](https://github.com/mattermost/mattermost) — 36.1K+ ⭐ - 官网: [mattermost.com](https://mattermost.com) --- Source: https://tokrepo.com/en/workflows/ca6c4512-34bf-11f1-9bc6-00163e2b0d79 Author: AI Open Source