• Tallinn09:19
  • Ljubljana08:19
  • Novi Sad08:19

Door Iva Seleš

Wilt u bespreken wat dit voor uw bedrijf betekent?Plan een gesprek

Opensource teamcommunicatie op schaal: Mattermost in eigen beheer draaien

hands typing a message on a phone in a dark room

Om de paar jaar kijkt een bedrijf naar zijn Slack-factuur, telt de kosten per gebruiker op, merkt dat tien jaar interne conversatie in de database van iemand anders staat en in een andere jurisdictie, en vraagt zich af of het ook anders kan. Dat kan. Mattermost is het meest geloofwaardige antwoord in eigen beheer, en dat is het al een tijd.

Het is ook de tool die vóór de uitrol het vaakst verkeerd wordt begrepen, want de gratis editie die je denkt te krijgen is meestal niet degene die je uiteindelijk draait. Deze gids gaat over wat Mattermost werkelijk is, wat de gratis versie echt bevat, en de drie operationele problemen waar bijna iedere eerste zelfhoster tegenaan loopt.

Wat Mattermost is

Een Go-server, een PostgreSQL-database, een React-webclient en native desktop- en mobiele apps. Kanalen, threads, bestandsdeling, zoeken, slash-commando's, inkomende en uitgaande webhooks, bots en een plugin-framework. Wie Slack heeft gebruikt is binnen een middag productief, en iedereen anders ook. Dat weegt zwaarder dan welke functielijst dan ook wanneer je een heel bedrijf vraagt te verhuizen.

Rond die kern liggen Playbooks, voor incident- en proceswerk aan de hand van checklists, en Calls, voor audio, video en schermdeling. Sinds v11.0 vereist Playbooks een van de commerciële edities (de gratis Entry-editie telt mee). De integratiecatalogus dekt de gebruikelijke verdachten: GitLab, GitHub, Jira, Jenkins, PagerDuty. Op ChatOps is het product echt sterk, en daarom heeft het zo'n aanhang onder engineering- en operationsteams, en onder defensie- en overheidsorganisaties die hun verkeer sowieso niet bij een commerciële SaaS mogen onderbrengen.

Het architectonisch belangrijke feit is dat dit alles draait op infrastructuur die jij kiest. Hetzelfde principe als bij je analytics in eigen beheer met Matomo of je marketingautomatisering met Mautic. De berichten staan in jouw database, de bestanden in jouw objectopslag, en niemand verandert het bewaarbeleid of de prijs zonder het te vragen.

Het licentieplaatje, ronduit gezegd

Hier raken mensen in de war, dus laten we direct zijn.

Team Edition is de opensource-editie: gratis, de binary valt onder de MIT-licentie, en de meeste zelfhosters draaien hem al jaren. Je krijgt berichten, kanalen, threads, zoeken, integraties, webhooks en het pluginframework. Je krijgt geen single sign-on via SAML of AD/LDAP, geen compliance-export, geen enterprise-zoeken, geen cluster met hoge beschikbaarheid en geen gastaccounts. Sinds v11.0 (oktober 2025) zijn ook single sign-on via GitLab en Playbooks verdwenen, en Mattermost omschrijft de editie nu als bedoeld voor kleine teams, hobbyisten en persoonlijk gebruik, onder de 250 geactiveerde gebruikers en zonder behoefte aan single sign-on (SSO).

Entry is een gratis commerciële editie met de functies van Enterprise Advanced en limieten voor de hele server. Alleen de laatste 10.000 kanaalberichten zijn te zien en te doorzoeken (oudere blijven in de database staan), er zijn geen compliancefuncties en geen hoge beschikbaarheid, en support komt alleen van de community. Mattermost noemt nog meer plafonds die in een toekomstige release ingaan: 5 actieve playbook-runs per maand, gesprekken van 40 minuten, 10.000 pushmeldingen per maand. Het is bedoeld voor teams onder de vijftig mensen. Het is een goede manier om het betaalde product te evalueren. Het is een slechte manier om een permanent thuis te bouwen voor de gespreksgeschiedenis van je bedrijf, want de geschiedenislimiet zit precies op wat je uiteindelijk belangrijk vindt.

Professional, Enterprise en Enterprise Advanced zijn de betaalde niveaus. Professional voegt SSO, MFA en geavanceerde rechten toe en is volgens Mattermost bedoeld voor teams tot 250 gebruikers. Enterprise voegt AD/LDAP-synchronisatie, compliance-automatisering, enterprise-zoeken, hoge beschikbaarheid en Playbooks op schaal toe. Enterprise Advanced voegt de omgang met gerubriceerde informatie, zero-trust-controles en uitrol in afgesloten netwerken toe, en dat is het niveau waarop de defensie- en overheidsgebruikers zitten. Mattermost publiceert geen prijs per gebruiker meer, dus reken op een gesprek met sales.

De keuze was vroeger eenvoudiger dan de lijst met niveaus doet vermoeden; v11 heeft dat veranderd. Onder ongeveer 250 mensen, met lokale accounts en zonder behoefte aan single sign-on, volstaat Team Edition nog steeds. Elke vorm van single sign-on (SAML, AD/LDAP en nu ook GitLab) betekent een commerciële editie: Entry zolang de limieten passen, daarna Professional of Enterprise. De noodoplossing die Mattermost bood voor inloggen via GitLab, op de v10.11 extended support release blijven, is op 15 augustus 2026 end-of-life gegaan. Een grote organisatie, of een met eisen rond compliance, bewaartermijnen of hoge beschikbaarheid, moet Enterprise vanaf het begin inplannen en begroten.

De installatie

Een kleine opzet

Voor een team van tientallen tot een paar honderd mensen volstaat één goed bemeten VPS echt. Mattermost zelf plaatst één tot duizend gebruikers op één vCPU en 2 GB RAM, wat optimistisch is zoals leveranciersminima dat altijd zijn. Geef de machine vier cores en 8 GB en je denkt er nooit meer aan.

De stack bestaat uit Mattermost, PostgreSQL en een reverse proxy die TLS afhandelt. Traefik met Let's Encrypt kost de minste moeite:

services:
  mattermost:
    image: mattermost/mattermost-team-edition:release-11.7
    restart: unless-stopped
    environment:
      - MM_SQLSETTINGS_DRIVERNAME=postgres
      - MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:your_secure_password@db:5432/mattermost?sslmode=disable
      - MM_SERVICESETTINGS_SITEURL=https://chat.example.com
    volumes:
      - mm_data:/mattermost/data
      - mm_config:/mattermost/config
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_USER=mmuser
      - POSTGRES_PASSWORD=your_secure_password
      - POSTGRES_DB=mattermost
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  mm_data:
  mm_config:
  db_data:

Zet SiteURL goed voordat je iemand uitnodigt. Een verkeerde of ontbrekende SiteURL breekt pushmeldingen, OAuth-callbacks en linkvoorbeelden, op een manier die later vervelend is om te debuggen en nu triviaal te vermijden.

Eén voorbehoud is het herhalen waard, omdat de leverancier het zelf ook zegt: containers zijn prima om te evalueren en voor kleine productie-installaties, maar die route geeft je geen clustering of hoge beschikbaarheid uit de doos. Heb je dat nodig, installeer dan rechtstreeks op Linux of gebruik de Kubernetes-operator. Pin het image op een releaselijn, zoals de officiële Docker-handleiding aanraadt: het voorbeeld gebruikt 11.7, de huidige extended support release, omdat latest op de dag van verschijnen naar v12 springt.

Een productieopzet

PostgreSQL 14 is het minimum op v11. Versie 12.0, gepland voor 14 oktober 2026, verhoogt dat naar PostgreSQL 15, dus begin op 15 of nieuwer (het voorbeeld hierboven gebruikt 16). De ondersteuning voor MySQL is met v11.0 in oktober 2025 gestopt, dus voor een nieuwe installatie is MySQL geen optie. Amazon Aurora PostgreSQL wordt ondersteund en is op AWS de verstandige beheerde optie. Installeer je rechtstreeks op Linux, let dan op: v11.11 (september 2026) is de laatste release die RHEL 7 en RHEL 8 ondersteunt.

Zet bestanden vanaf dag één in S3-compatibele objectopslag. Het lokale bestandssysteem werkt en is de standaard, en het is ook wat je server stilletjes stateful maakt, je back-ups enorm en je migratie pijnlijk. Later overstappen betekent bestanden verplaatsen en paden herschrijven. Bij installatie overstappen betekent een handvol configuratiewaarden invullen.

Voor hoge beschikbaarheid heb je het Enterprise-niveau nodig: meerdere applicatienodes achter een load balancer, gedeelde objectopslag en een database met leesreplica's. Voor zoeken op schaal wil je Elasticsearch of OpenSearch, eveneens Enterprise. De full-text search van PostgreSQL is prima voor een paar honderd mensen en een paar miljoen berichten, en CJK-zoeken werkt nu standaard op PostgreSQL, wat vroeger een echte reden was om de zoekmodule te kopen.

De drie dingen die misgaan

Alles hierboven staat in de documentatie. Dit zijn de delen die mensen in productie ontdekken.

Pushmeldingen zijn niet gratis op de manier die je verwacht

Mobiele push moet via de netwerken van Apple en Google, wat betekent dat iets de ondertekeningscertificaten moet beheren. Mattermost draait een Test Push Notification Service die meteen werkt en die uitdrukkelijk niet voor productie bedoeld is. De Hosted Push Notification Service is de productieversie en die komt met een betaalde licentie.

De derde optie is je eigen push proxy draaien. Dat is goed gedocumenteerd en heel goed te doen, maar het betekent je eigen mobiele app bouwen en distribueren met je eigen Firebase- en APNs-gegevens, en dat is een relatie met de appwinkels en een releaseproces, geen middagje werk.

Kies welke van de drie voordat je naar telefoons uitrolt, en niet nadat de eerste persoon vraagt waarom berichten alleen binnenkomen als de app openstaat. Dit ene punt laat meer Mattermost-migraties stranden dan wat dan ook.

Calls heeft meer nodig dan een poort

Calls kent twee modi. De geïntegreerde modus draait de mediadienst binnen de Mattermost-server en wordt aangeraden onder ongeveer vijftig actieve gebruikers. Daarboven wil je rtcd, een aparte dienst die het gespreksverkeer weghoudt bij je hoofdserver en horizontaal schaalt. rtcd vereist Enterprise.

In beide gevallen moeten clients de mediadienst bereiken via UDP op poort 8443, en die poort moet openstaan op de host waar die dienst draait. Je nginx reverse proxy stuurt hem niet door, want nginx zit niet in het UDP-pad. De helft van alle draadjes over gesprekken die niet tot stand komen, komt neer op een firewallregel die nooit is toegevoegd.

Op het gratis niveau kun je een-op-eengesprekken met een tijdslimiet verwachten in plaats van onbeperkte groepsgesprekken. Is bedrijfsbrede video een eis, reken die dan door.

Iemand moet het beheren

De eerlijke kostenvergelijking is niet licentie tegenover nul. Het is licentie tegenover infrastructuur plus de persoon die patcht. Mattermost brengt elke maand een featurerelease uit (op 10 oktober 2026 is dat 11.11, en de extended support release is 11.7), om veiligheidsredenen wil je bij blijven, en upgrades brengen databasemigraties met zich mee die je beter ergens anders test dan in productie.

Voor een team dat toch al eigen infrastructuur draait is dit marginaal werk en valt de rekensom overtuigend uit. Voor een bedrijf van tien mensen zonder operationele capaciteit kan een SaaS-factuur werkelijk goedkoper zijn dan de verloren dinsdagmiddagen. Wees eerlijk over welke van de twee je bent.

Weg bij Slack

Mattermost heeft een importpad vanuit Slack-exportbestanden, en dat werkt, met kanttekeningen die je van tevoren wilt kennen. Berichten uit openbare kanalen en gebruikers komen goed over. Privékanalen en directe berichten hangen af van wat je Slack-abonnement überhaupt laat exporteren. Threads, bijlagen, eigen emoji en integraties vragen aandacht, en sommige moeten opnieuw worden gebouwd.

De aanpak die werkt: importeer de geschiedenis als doorzoekbaar archief en behandel de overstapdatum als een schone start. Elk Slack-gedrag exact willen nabootsen is hoe een migratie van twee weken er een van twee kwartalen wordt.

Draai beide een week of twee naast elkaar, verhuis eerst één team, en zet de uitschakeldatum meteen aan het begin publiek vast. Chatmigraties mislukken sociaal, niet technisch.

De Europese invalshoek

Voor bedrijven in de EU gaat dit niet alleen over kosten. Zelf hosten brengt de interne communicatie binnen een grens die jij beheerst, en dat verandert meerdere gesprekken tegelijk: de doorgifteanalyse onder de AVG, de toeleveringsketentoets onder NIS2, en de soevereiniteitsvragen die steeds vaker opduiken bij overheidsaanbestedingen en die het hele onderwerp zijn van de Cloud and AI Development Act.

Interne chat is een van de dichtste concentraties vertrouwelijk materiaal die een bedrijf heeft. Daar staan incidentdetails, klantnamen, inloggegevens die niemand had mogen plakken maar wel plakte, en elke lopende commerciële onderhandeling. Als iemand vraagt waar die data leeft, is het iets waard om te kunnen antwoorden met een regio en een rack in plaats van met een lijst subverwerkers.

Wanneer je het moet laten

Ben je met vijftien mensen, zijn je compliance-eisen licht en wil niemand een server bezitten, neem dan de SaaS. De besparing weegt niet op tegen de aandacht.

Heb je diepe integratie nodig met een ecosysteem waarin je al woont, kijk dan scherp naar wat je zou verliezen. Teams binnen een Microsoft 365-omgeving krijgen veel gratis dat je zou moeten herbouwen.

En als de drijfveer de afkeer van één luide persoon tegen een leverancier is in plaats van een echte eis rond kosten, controle of jurisdictie, dan strandt de migratie rond zestig procent adoptie, en dat is voor een communicatiemiddel de slechtst denkbare uitkomst.

Hulp nodig

Wij zetten opensource-infrastructuur in eigen beheer op en draaien die voor bedrijven die in Europa opereren, inclusief de weinig glamoureuze delen: push proxies, migraties naar objectopslag, upgradepaden en de identiteitskoppeling die een chatuitrol laat beklijven.

Wil je een Mattermost-installatie die goed bemeten is, een Slack-migratie gepland door iemand die het eerder heeft gedaan, of een eerlijk antwoord op de vraag of zelf hosten voor jouw team de moeite waard is, mail dan naar office@c9group.dev. Meer over ons infrastructuurwerk op de pagina over AWS-kostenoptimalisatie.

Stel je een volledige stack in eigen beheer samen, dan geldt dezelfde redenering voor analytics en voor marketingautomatisering.


Gepubliceerd: 8 augustus 2026 (bijgewerkt op 10 oktober 2026) Categorieën: Samenwerking, Open Source, Privacy

Samenwerking

Nieuwe handleidingen en regelwijzigingen per e-mail

Verandert er een regel, schuift er een deadline op of publiceren wij een nieuwe handleiding, dan sturen we die per e-mail.

Eerst sturen we u een bevestigingslink. U kunt zich altijd weer uitschrijven. Privacybeleid

Kennisbank

Gerelateerde artikelen

Alle artikelen bekijken