Files
wiki/Catalogue-Self-Hosted/apps/app-mattermost.md
T
2026-06-09 18:40:21 +02:00

148 lines
6.3 KiB
Markdown

---
title: Mattermost
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, tools, backend, kanban]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/mattermost/mattermost]
---
# 💻 Mattermost
> Chat d'équipe open source — alternative auto-hébergeable à Slack et Microsoft Teams, conçue pour les communications internes d'entreprise (DevOps, sécurité, conformité).
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | Mattermost |
| **Slug** | mattermost |
| **Description** | Plateforme de chat d'équipe open source (alternative Slack/Teams) |
| **Site officiel** | https://mattermost.com |
| **Repository** | https://github.com/mattermost/mattermost |
| **Stars** | 37 027 ⭐ |
| **Licence** | AGPL-3.0 (Community) + Enterprise (propriétaire) |
| **Langage principal** | Go (serveur) + React (web) |
| **Catégorie** | Development |
| **Tags** | [catalogue, development, tools, backend, kanban] |
## 📝 Description
**Mattermost** est une **plateforme de chat d'équipe** open source conçue comme alternative **auto-hébergeable à Slack et Microsoft Teams**. Né en 2015 (à l'origine pour remplacer HipChat), il est aujourd'hui positionné sur le marché **enterprise** (DevOps, IT, sécurité, défense) avec des fonctionnalités de conformité (audit, retention, eDiscovery) et des intégrations CI/CD (GitLab, Jenkins, PagerDuty).
Fonctionnalités : channels publics/privés/DM, threads, messages directs, recherche full-text, appels audio/vidéo, partage de fichiers, intégrations webhook/bots, **Playbooks** (runbooks opérationnels), **Boards** (kanban intégré depuis 2022), **Call** (audio/vidéo WebRTC). Le client est multi-plateforme : web, desktop (Electron), iOS, Android.
**Modèle de licence hybride** :
- **Mattermost Community Edition** : **AGPL-3.0**, contient l'essentiel du chat + intégrations.
- **Mattermost Enterprise Edition** : **propriétaire**, ajoute SSO avancé, retention policies, eDiscovery, compliance exports.
- **Mattermost Cloud** : service managé, freemium limité.
Pour un self-host **open source pur**, on reste sur la version **Community** (AGPL) — la majorité des usages équipe sont couverts.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml (officiel)
version: "3.8"
services:
postgres:
image: postgres:15
restart: unless-stopped
environment:
POSTGRES_USER: mmuser
POSTGRES_PASSWORD: ***changeme***
POSTGRES_DB: mattermost
volumes:
- ./postgres:/var/lib/postgresql/data
mattermost:
image: mattermost/mattermost-team-edition:9.10
restart: unless-stopped
depends_on: [postgres]
environment:
MM_USERNAME: mmuser
MM_PASSWORD: ***changeme***
MM_DBNAME: mattermost
MM_SQLSETTINGS_DATASOURCE: postgres://mmuser:***changeme***@postgres:5432/mattermost?sslmode=disable&connect_timeout=10
MM_SERVICESETTINGS_SITEURL: https://chat.example.com
volumes:
- ./mattermost/config:/mattermost/config
- ./mattermost/data:/mattermost/data
- ./mattermost/logs:/mattermost/logs
- ./mattermost/plugins:/mattermost/plugins
- ./mattermost/client/plugins:/mattermost/client/plugins
ports:
- "8065:8065"
```
### Installation manuelle
```bash
# Téléchargement du tarball
wget https://releases.mattermost.com/9.10.0/mattermost-9.10.0-linux-amd64.tar.gz
tar -xzf mattermost-*.tar.gz
sudo mv mattermost /opt
sudo mkdir -p /opt/mattermost/data
sudo useradd -r -d /opt/mattermost mattermost
sudo chown -R mattermost:mattermost /opt/mattermost
cd /opt/mattermost && sudo -u mattermost ./bin/mattermost
# Service systemd
sudo tee /etc/systemd/system/mattermost.service <<EOF
[Unit]
Description=Mattermost
After=network.target
[Service]
Type=notify
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
[Install]
WantedBy=multi-user.target
EOF
```
## ⚙️ Configuration
- **`SiteURL`** : URL publique HTTPS (utilisée pour les liens et les webhooks).
- **SQL Settings** : pointer sur PostgreSQL (MySQL déprécié en 9.0+).
- **Service Settings** : `ListenAddress`, `ConnectionSecurity` (TLS), `Forward80To443`.
- **Email** : configurer SMTP pour les invitations et notifications.
- **File storage** : par défaut local, peut être basculé sur S3/MinIO pour scaler.
- **Integrations** : `EnableIncomingWebhooks`, `EnableOutgoingWebhooks`, `EnableBotAccountCreation`.
## 🔗 Alternatives
- **Rocket.Chat** — Concurrent direct, modèle 100 % open source, plus « communautaire » que Mattermost, éditeur brésilien.
- **Element (Matrix)** — Chat fédéré (Matrix), davantage orienté communication inter-organisations que chat d'équipe interne.
- **Zulip** — Chat avec modèle « topics » (fil thématique), très adapté aux grosses équipes techniques.
- **Slack / Microsoft Teams** — Les solutions cloud propriétaires que Mattermost remplace en self-host.
## 🔒 Sécurité
- **HTTPS obligatoire** : l'API de Mattermost contient tous les messages de l'organisation.
- **SMTP auth** : à configurer dès l'installation (sinon l'auth SMTP ne fonctionne pas et l'inscription est impossible).
- **Politiques de mot de passe** + 2FA : natifs, à activer pour tous les admins.
- **Audit logs** : fonctionnalité Enterprise — en Community, on s'appuie sur les logs serveur (syslog + ELK/Loki).
- **Plugins** : n'activer que ceux du marketplace officiel, un plugin malveillant a accès à tous les channels.
- **Base de données** : sauvegarder PostgreSQL quotidiennement (Mattermost ne fait pas de backup auto), prévoir un `pg_dump` + archivage du volume `./mattermost/data` (fichiers uploadés).
## 📚 Ressources
- [Site officiel](https://mattermost.com)
- [Documentation self-hosting](https://docs.mattermost.com/guides/deployment.html)
- [Repository GitHub](https://github.com/mattermost/mattermost)
- [Selfh.st — Mattermost](https://selfh.st/apps/?tag=Development)
- [Templates Playbooks](https://github.com/mattermost/mattermost-playbooks)
## 🔗 Pages Liées
- [[cat-development]] — Catégorie Development
- [[app-traefik]] — Reverse-proxy HTTPS devant Mattermost
- [[app-gitea]] — Intégration native chat + forge Git (notifications PR/issues)
- [[securisation-home-lab]] — Bonnes pratiques de sécurité
- [[recettes-docker-compose]] — Templates Docker Compose