Open-Source-Teamkommunikation im großen Maßstab: Mattermost selbst betreiben

Alle paar Jahre schaut sich ein Unternehmen seine Slack-Rechnung an, rechnet die Kosten pro Nutzer zusammen, stellt fest, dass zehn Jahre interner Kommunikation in der Datenbank eines anderen in einer anderen Rechtsordnung liegen, und fragt sich, ob es auch anders geht. Es geht anders. Mattermost ist die glaubwürdigste selbst gehostete Antwort darauf, und das schon seit einiger Zeit.
Es ist zugleich das Werkzeug, das vor der Einführung am häufigsten missverstanden wird, denn die kostenlose Edition, die man zu bekommen glaubt, ist meist nicht die, die man am Ende betreibt. Dieser Leitfaden erklärt, was Mattermost wirklich ist, was die kostenlose Version tatsächlich enthält und welche drei betrieblichen Probleme praktisch jeden treffen, der es zum ersten Mal selbst hostet.
Was Mattermost ist
Ein Go-Server, eine PostgreSQL-Datenbank, ein React-Webclient und native Desktop- und Mobil-Apps. Kanäle, Threads, Dateifreigabe, Suche, Slash-Befehle, eingehende und ausgehende Webhooks, Bots und ein Plugin-Framework. Wer Slack kennt, ist nach einem Nachmittag produktiv, und alle anderen ebenso. Das zählt mehr als jede Funktionsliste, wenn ein ganzes Unternehmen umziehen soll.
Um diesen Kern herum liegen Playbooks für checklistengetriebene Incident- und Prozessarbeit sowie Calls für Audio, Video und Bildschirmfreigabe. Der Integrationskatalog deckt die üblichen Verdächtigen ab: GitLab, GitHub, Jira, Jenkins, PagerDuty. Bei ChatOps ist das Produkt wirklich stark, und genau deshalb hat es unter Engineering- und Operations-Teams so viele Anhänger, ebenso wie bei Verteidigung und öffentlicher Hand, die ihren Verkehr überhaupt nicht in eine kommerzielle SaaS legen dürfen.
Architektonisch entscheidend ist: All das läuft auf einer Infrastruktur, die Sie auswählen. Dasselbe Prinzip wie beim Selbsthosten der Analytics mit Matomo oder der Marketing-Automatisierung mit Mautic. Die Nachrichten liegen in Ihrer Datenbank, die Dateien in Ihrem Objektspeicher, und niemand ändert Aufbewahrungsfristen oder Preise, ohne Sie zu fragen.
Die Lizenzlage, klar gesagt
Hier entsteht die meiste Verwirrung, deshalb sei es deutlich gesagt.
Team Edition ist die quelloffene Variante. MIT-lizenziert, kostenlos, ohne Nutzerobergrenze, und das ist die Version, die die meisten Selbsthoster tatsächlich betreiben. Sie bekommen Messaging, Kanäle, Threads, Suche, Integrationen, Webhooks und das Plugin-Framework. Sie bekommen kein Single Sign-on über SAML oder AD/LDAP, keinen Compliance-Export, keine Enterprise-Suche, kein Hochverfügbarkeits-Cluster und keine Gastkonten.
Entry ist eine kostenlose kommerzielle Edition. Sie schaltet den erweiterten Funktionsumfang frei, deckelt Sie aber: Der Nachrichtenverlauf ist begrenzt, die Zahl der Playbook-Durchläufe ist begrenzt, Support gibt es nur über die Community, und gedacht ist sie für Teams unter etwa fünfzig Personen. Zum Evaluieren des kostenpflichtigen Produkts ist das gut. Als dauerhafte Heimat für die Gesprächshistorie eines Unternehmens ist es schlecht, denn genau dieser Verlauf ist das, worauf es irgendwann ankommt.
Professional, Enterprise und Enterprise Advanced sind die kostenpflichtigen Stufen. Professional ergänzt SSO, MFA und feingranulare Berechtigungen. Enterprise ergänzt AD/LDAP-Synchronisierung, Compliance-Automatisierung, Enterprise-Suche, Hochverfügbarkeit und Playbooks im großen Maßstab. Enterprise Advanced ergänzt den Umgang mit Verschlusssachen, Zero-Trust-Kontrollen und Air-Gap-Betrieb, und auf dieser Stufe sitzen die Nutzer aus Verteidigung und Verwaltung. Preise pro Nutzer veröffentlicht Mattermost nicht mehr, planen Sie also ein Vertriebsgespräch ein.
Die Entscheidung, vor der die meisten Teams stehen, ist einfacher, als die Stufenliste vermuten lässt. Wenn Sie SAML gegen Ihren Identity-Provider brauchen, zahlen Sie. Wenn Sie mit lokalen Konten oder GitLab-OAuth leben können, trägt die Team Edition eine erstaunlich große Organisation.
Die Einrichtung
Eine kleine Installation
Für ein Team von einigen zehn bis wenigen hundert Personen reicht ein einzelner, ordentlich dimensionierter VPS wirklich aus. Mattermost selbst nennt für einen bis tausend Nutzer eine vCPU und 2 GB RAM, was so optimistisch ist, wie Herstellerminima es immer sind. Geben Sie der Maschine vier Kerne und 8 GB, und Sie denken nie wieder darüber nach.
Der Stack besteht aus Mattermost, PostgreSQL und einem Reverse Proxy, der TLS terminiert. Traefik mit Let's Encrypt macht dabei die geringste Arbeit:
services:
mattermost:
image: mattermost/mattermost-team-edition:latest
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:
Setzen Sie SiteURL richtig, bevor Sie irgendjemanden einladen. Eine falsche oder fehlende SiteURL zerlegt Push-Benachrichtigungen, OAuth-Callbacks und Link-Vorschauen auf eine Weise, die später mühsam zu debuggen und jetzt trivial zu vermeiden ist.
Eine Einschränkung sei wiederholt, weil der Hersteller sie selbst nennt: Container sind für die Evaluierung und für kleine Produktivinstallationen in Ordnung, aber der Container-Weg liefert von Haus aus weder Clustering noch Hochverfügbarkeit. Wer beides braucht, installiert direkt unter Linux oder nutzt den Kubernetes-Operator.
Eine produktive Installation
PostgreSQL 14 oder neuer. Die MySQL-Unterstützung wird ab v11 abgekündigt, wer also heute etwas aufsetzt, sollte gar nicht erst mit MySQL anfangen. Amazon Aurora PostgreSQL wird unterstützt und ist auf AWS die vernünftige verwaltete Option.
Legen Sie Dateien vom ersten Tag an in S3-kompatiblen Objektspeicher. Das lokale Dateisystem funktioniert und ist die Voreinstellung, und es ist zugleich das, was Ihren Server still und leise zustandsbehaftet, Ihre Backups riesig und Ihre Migration schmerzhaft macht. Später zu wechseln bedeutet, Dateien zu verschieben und Pfade umzuschreiben. Bei der Installation zu wechseln bedeutet, eine Handvoll Konfigurationswerte zu setzen.
Für Hochverfügbarkeit brauchen Sie die Enterprise-Stufe: mehrere Anwendungsknoten hinter einem Load Balancer, einen gemeinsamen Objektspeicher und eine Datenbank mit Read Replicas. Für Suche im großen Maßstab wollen Sie Elasticsearch oder OpenSearch, ebenfalls Enterprise. Die Volltextsuche von PostgreSQL genügt für einige hundert Personen und einige Millionen Nachrichten, und die CJK-Suche funktioniert jetzt standardmäßig auf PostgreSQL, was früher ein echter Grund war, das Such-Add-on zu kaufen.
Die drei Dinge, die schiefgehen
Alles Bisherige steht in der Dokumentation. Das Folgende entdecken die Leute im Produktivbetrieb.
Push-Benachrichtigungen sind nicht so kostenlos, wie Sie denken
Mobiler Push muss über die Netze von Apple und Google laufen, also muss irgendetwas die Signaturzertifikate halten. Mattermost betreibt einen Test Push Notification Service, der sofort funktioniert und ausdrücklich nicht für den Produktivbetrieb gedacht ist. Der Hosted Push Notification Service ist der produktive, und er kommt mit einer kostenpflichtigen Lizenz.
Die dritte Möglichkeit ist ein eigener Push-Proxy. Das ist gut dokumentiert und durchaus machbar, bedeutet aber, eine eigene mobile App mit eigenen Firebase- und APNs-Zugangsdaten zu bauen und zu verteilen. Das ist eine App-Store-Beziehung und ein Release-Prozess, kein Nachmittag.
Entscheiden Sie sich für eine der drei Varianten, bevor Sie auf Mobiltelefone ausrollen, und nicht erst, wenn die erste Person fragt, warum sie Nachrichten nur bei geöffneter App bekommt. Dieser eine Punkt lässt mehr Mattermost-Migrationen scheitern als alles andere.
Calls braucht mehr als einen Port
Calls hat zwei Betriebsarten. Der integrierte Modus lässt den Mediendienst im Mattermost-Server laufen und wird unterhalb von etwa fünfzig aktiven Nutzern empfohlen. Darüber wollen Sie rtcd, einen separaten Dienst, der die Mediendaten vom Hauptserver fernhält und horizontal skaliert. rtcd setzt Enterprise voraus.
In beiden Fällen müssen die Clients den Mediendienst über UDP auf Port 8443 erreichen, und dieser Port muss auf dem Host offen sein, auf dem der Mediendienst läuft. Ihr nginx-Reverse-Proxy leitet ihn nicht weiter, denn nginx liegt gar nicht im UDP-Pfad. Die Hälfte aller Threads über nicht zustande kommende Anrufe geht auf eine Firewall-Regel zurück, die nie ergänzt wurde.
Auf der kostenlosen Stufe erwarten Sie Einzelgespräche mit Zeitlimit statt unbegrenzter Gruppenanrufe. Wenn unternehmensweites Video Pflicht ist, kalkulieren Sie es ein.
Jemand muss es betreiben
Der ehrliche Kostenvergleich lautet nicht Lizenz gegen null. Er lautet Lizenz gegen Infrastruktur plus die Person, die patcht. Mattermost veröffentlicht häufig Releases, aus Sicherheitsgründen wollen Sie aktuell bleiben, und Upgrades bringen Datenbankmigrationen mit sich, die Sie irgendwo testen sollten, das nicht die Produktion ist.
Für ein Team, das ohnehin eigene Infrastruktur betreibt, ist das Randarbeit und die Rechnung geht klar auf. Für eine Firma mit zehn Leuten und ohne Betriebskapazität kann eine SaaS-Rechnung tatsächlich billiger sein als die verlorenen Dienstagnachmittage. Seien Sie ehrlich, welcher Fall Sie sind.
Der Umzug von Slack
Mattermost bietet einen Importpfad aus Slack-Exportdateien, und der funktioniert, mit Einschränkungen, die man vorher kennen sollte. Nachrichten aus öffentlichen Kanälen und Benutzer kommen gut herüber. Private Kanäle und Direktnachrichten hängen davon ab, was Ihr Slack-Tarif überhaupt exportieren lässt. Threads, Dateianhänge, eigene Emoji und Integrationen brauchen Aufmerksamkeit, und manches davon muss neu gebaut werden.
Was funktioniert: Importieren Sie die Historie als durchsuchbares Archiv und behandeln Sie den Umstiegstag als sauberen Neuanfang. Der Versuch, jedes Slack-Verhalten exakt nachzubilden, verwandelt eine Migration von zwei Wochen in eine von zwei Quartalen.
Lassen Sie beides zwei Wochen parallel laufen, ziehen Sie ein Team zuerst um, und legen Sie den Abschalttermin gleich zu Beginn öffentlich fest. Chat-Migrationen scheitern sozial, nicht technisch.
Der europäische Blickwinkel
Für Unternehmen in der EU geht es dabei nicht nur um Kosten. Selbsthosting legt die interne Kommunikation in eine Grenze, die Sie kontrollieren, und das verändert mehrere Gespräche auf einmal: die Übermittlungsprüfung nach DSGVO, die Lieferkettenprüfung nach NIS2 und die Souveränitätsfragen, die zunehmend in der öffentlichen Beschaffung auftauchen und das ganze Thema des Cloud and AI Development Act sind.
Der interne Chat ist eine der dichtesten Ansammlungen vertraulichen Materials, die ein Unternehmen besitzt. Dort stehen Incident-Details, Kundennamen, Zugangsdaten, die niemand hätte einfügen dürfen und trotzdem eingefügt hat, und jede laufende Vertragsverhandlung. Wenn jemand fragt, wo diese Daten liegen, ist es etwas wert, mit einer Region und einem Rack antworten zu können statt mit einer Liste von Unterauftragsverarbeitern.
Wann Sie es lassen sollten
Wenn Sie fünfzehn Leute sind, Ihre Compliance-Anforderungen leicht sind und niemand einen Server besitzen möchte, nehmen Sie die SaaS. Die Ersparnis wiegt die Aufmerksamkeit nicht auf.
Wenn Sie tiefe Integration in ein Ökosystem brauchen, in dem Sie ohnehin schon leben, prüfen Sie genau, was Sie verlieren würden. Teams in einer Microsoft-365-Landschaft bekommen vieles geschenkt, das Sie nachbauen müssten.
Und wenn der Antrieb die Abneigung einer lauten Person gegen einen Anbieter ist statt eine echte Anforderung an Kosten, Kontrolle oder Rechtsraum, dann bleibt die Migration bei etwa sechzig Prozent Nutzung stehen, und das ist für ein Kommunikationswerkzeug das denkbar schlechteste Ergebnis.
Unterstützung
Wir betreiben selbst gehostete Open-Source-Infrastruktur für Unternehmen in Europa, einschließlich der unspektakulären Teile: Push-Proxys, Migrationen in Objektspeicher, Upgrade-Pfade und die Identity-Anbindung, die einen Chat-Rollout überhaupt erst tragfähig macht.
Wenn Sie eine sauber dimensionierte Mattermost-Installation brauchen, eine Slack-Migration, die jemand geplant hat, der sie schon gemacht hat, oder eine ehrliche Antwort darauf, ob Selbsthosting sich für Ihr Team lohnt, schreiben Sie an office@c9group.dev. Mehr zu unserer Infrastrukturarbeit finden Sie auf der Seite zur AWS-Kostenoptimierung.
Wenn Sie einen vollständigen selbst gehosteten Stack zusammenstellen, gilt dieselbe Überlegung für Analytics und für Marketing-Automatisierung.
Veröffentlicht: 8. August 2026 Kategorien: Zusammenarbeit, Open Source, Datenschutz