Initial vault setup
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user