Pourquoi self-héberger Mattermost sur un VPS
Les messageries SaaS facturent par utilisateur actif et conservent l'historique de vos échanges sur leurs serveurs. Mattermost renverse cette logique : une instance auto-hébergée sur VPS abrite des équipes entières sans coût par siège sur l'édition Team, avec un historique illimité et un stockage de fichiers que vous contrôlez. Pour une agence ou une entreprise soumise à des contraintes de confidentialité, héberger la messagerie en propre signifie que ni les messages, ni les fichiers partagés, ni les métadonnées ne transitent par un tiers. Mattermost s'intègre par ailleurs nativement avec des forges Git, des outils de CI/CD et des webhooks entrants/sortants, ce qui en fait un hub de communication central pour les équipes techniques.
Bénéfices concrets d'un Mattermost auto-hébergé
- Historique des messages illimité, sans coupure à quelques milliers de messages comme sur les offres gratuites SaaS.
- Stockage des fichiers partagés sur votre VPS ou un bucket S3 que vous maîtrisez.
- Webhooks entrants/sortants et slash commands pour brancher CI, monitoring et alertes.
- Authentification entreprise : LDAP/AD, SAML et OAuth selon l'édition.
- Applications desktop et mobiles officielles pointant vers votre propre domaine.
- Conformité et souveraineté des données : aucune conversation hors de votre infrastructure.
Prérequis matériels et logiciels
Mattermost est plus exigeant que ne l'est une forge Git car il maintient des connexions WebSocket persistantes. Comptez un VPS de 2 vCPU et 4 Go de RAM pour une équipe jusqu'à 50 utilisateurs actifs ; visez 8 Go au-delà ou si vous activez la recherche avancée. PostgreSQL est la base recommandée. Prévoyez 30 Go de SSD minimum, davantage si vous stockez beaucoup de fichiers localement. Côté logiciel : Docker et Docker Compose, un sous-domaine chat.votredomaine.ma avec enregistrement A, et un reverse proxy capable de relayer correctement les connexions WebSocket (Upgrade/Connection).
Déployer Mattermost avec Docker et SSL
Préparer le VPS
Installez Docker et Compose, puis récupérez le dépôt officiel mattermost-docker ou créez /opt/mattermost. Augmentez si besoin vm.max_map_count et les limites de fichiers ouverts, Mattermost ouvre de nombreuses connexions simultanées.
Configurer PostgreSQL et les volumes
Dans le docker-compose.yml, déclarez un service postgres avec un mot de passe fort et des volumes persistants pour /var/lib/postgresql/data. Pour Mattermost, montez des volumes dédiés à config, data, logs et plugins afin de tout conserver hors du conteneur.
Lancer la stack Mattermost
Renseignez les variables MM_SQLSETTINGS_DATASOURCE et MM_SERVICESETTINGS_SITEURL (en HTTPS), puis exécutez docker compose up -d. Suivez docker compose logs -f jusqu'au message indiquant que le serveur écoute sur le port 8065.
Configurer le reverse proxy avec WebSocket
Avec Nginx, proxifiez vers http://127.0.0.1:8065 et ajoutez impérativement proxy_set_header Upgrade $http_upgrade; et proxy_set_header Connection "upgrade";, sinon le temps réel ne fonctionnera pas. Avec Caddy, reverse_proxy localhost:8065 gère le WebSocket automatiquement.
Activer le certificat SSL
Obtenez le certificat avec certbot --nginx -d chat.votredomaine.ma ou laissez Caddy le provisionner seul. Vérifiez que SiteURL est bien en https:// dans la configuration, sinon les clients mobiles refuseront de se connecter.
Créer l'équipe et durcir l'instance
Ouvrez https://chat.votredomaine.ma, créez le compte administrateur système et votre première équipe. Désactivez l'inscription ouverte, configurez SMTP pour les e-mails de notification, et restreignez la création d'équipes aux administrateurs.
Pour les fichiers partagés, ne stockez pas tout sur le disque du VPS à long terme : configurez Mattermost en mode stockage objet S3 compatible. Cela découple le volume de données de la taille de votre VPS, simplifie radicalement les sauvegardes (le bucket est versionné indépendamment) et facilite une éventuelle montée en charge horizontale. Pensez aussi à activer la rétention des données pour purger automatiquement les vieux messages et maîtriser la croissance de PostgreSQL.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Mattermost. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.