Was ist Mattermost?
Bei Mattermost handelt es sich um einen freien, webbasierten Messaging-Dienst. Die Chatfunktion ist das Herzstück der Software. Sie ermöglicht sowohl Chats zwischen Einzelpersonen als auch Gruppenchats. Letztere werden in "Channels" organisiert. In diese Kanäle lassen sich sogar Bots einbinden, die bestimmte Aufgaben automatisiert erfüllen können.
Vergleichbar ist der Funktionsumfang mit führenden kommerziellen Lösungen wie Slack und Microsoft Teams. Damit eignet sich das Tool nicht nur für Privatanwender, die einen eigenen, datenschutztechnisch sicheren (Familien-)Chat aufbauen möchten. Es richtet sich auch an Unternehmen, die aus datenschutzrechtlichen Gründen einen eigenen Chat-Server betreiben möchten. Neben der kostenfreien Variante für den Betrieb auf einem eigenen Server existiert auch eine kostenpflichtige Enterprise-Version.
Aufgrund seiner Features ist Mattermost gut als Kommunikationstool innerhalb von Unternehmen einsetzbar. Praktisch ist dies gerade bei flexiblen Arbeitsmodellen mit Remote Work und Homeoffice, zumal auch Screen Sharing und Videokonferenzen unterstützt werden. Die Lösung kann jedoch auch genutzt werden, um einen Live-Chat für die eigene Website aufzubauen und damit den Kundenservice zu verbessern.
Für den Betrieb von Mattermost gibt es verschiedene Möglichkeiten. Dieses Tutorial widmet sich der Frage, wie Anwender Mattermost auf VPS (vServer mit Linux) installieren können. Hierbei wird Docker genutzt.
Zum Thema
Mattermost auf VPS installieren: Vorbereitung
Vor der eigentlichen Mattermost-Installation auf einem Linux-vServer sollten zunächst die Rahmenbedingungen des Tutorials beachtet werden: In der folgenden Anleitung wird Debian 10 64 Bit als Betriebssystem verwendet. Sämtliche Schritte werden als Root-User durchlaufen. Als VPS wird der "Cloud Server XXL" des deutschen Hosting-Anbieters dogado genutzt. Er erfüllt höchste Datenschutzanforderungen, hat gute Leistungsdaten und ist bereits "Docker ready".
Da Mattermost per Docker installiert wird, wird in dieser Anleitung vorausgesetzt, dass Docker beziehungsweise Docker Composer bereits auf dem vServer vorhanden ist. Gleiches gilt für Traefik, das als Reverse Proxy dient und es ermöglicht, mehrere Dienste parallel auf dem Linux-Server zu betreiben.
Vorab noch ein wichtiger Hinweis zum Umgang mit yml-Dateien: Diese müssen immer mittels Leertaste eingerückt werden. Tabs sind nicht zulässig. Mit Online-Tools wie https://codebeautify.org/yaml-validator lässt sich überprüfen, ob die Formatierung des Codes korrekt ist.
Mattermost auf Linux (VPS) installieren: Tutorial-Schritte im Überblick
Sobald die Vorbereitung abgeschlossen ist, kann damit begonnen werden, Mattermost auf Linux zu installieren. Hierbei werden folgende Schritte durchlaufen:
1. Daten von git kopieren
2. Verzeichnis erstellen
3. docker-compose.yml anpassen
4. Hostname anpassen
5. Datenbank-Passwörter anpassen
6. Datenbank-Verbindung anpassen
7. Container erstellen
8. Mattermost starten
9. Sprache anpassen
Für die folgenden Schritte werden nur etwa zehn Minuten benötigt. Zudem wird die Arbeit relativ einfach sein, da schlicht etwas Code kopiert und angepasst werden muss.
1. Daten von git kopieren
Zuerst wird die aktuelle Version von Mattermost kopiert, indem Folgendes in die Konsole eingeben wird:
apt-get update
apt-get install git
git clone https://github.com/mattermost/mattermost-docker.git /opt/containers/mattermost
Hinweis: Natürlich kann auch ein anderes Verzeichnis als /opt/containers/mattermost genutzt werden. In diesem Fall muss jedoch die gesamte Anleitung entsprechend angepasst werden.
2. Verzeichnis erstellen
Um Mattermost auf VPS installieren zu können, wird zunächst ein neues Verzeichnis benötigt. Hier werden später alle Mattermost-Daten abgelegt. Zum Anlegen des Verzeichnisses wird Folgendes eingegeben:
mkdir -p /opt/containers/mattermost/volumes/app/mattermost/{data,logs,config,plugins,client-plugins}
Die Ordnerberechtigung wird noch folgendermaßen angepasst:
chown -R 1000:1000 /opt/containers/mattermost/volumes/app/mattermost/
3. docker-compose.yml anpassen
Jetzt kann Mattermost per Docker installiert werden. Die Datei docker-compose.yml wurde bereits via git heruntergeladen. Da es jedoch zu aufwendig wäre, sie anzupassen, wird diese gelöscht und eine eigene erstellt. Dazu wird Nachstehendes eingegeben:
rm /opt/containers/mattermost/docker-compose.yml
nano /opt/containers/mattermost/docker-compose.yml
Im nächsten Schritt wird der "Bauplan" für den Docker-Container in die yml-Datei eingefügt. Dazu wird ein Code hineinkopiert, den der Provider dogado eigens für diesen Zweck erstellt hat. Dieser kann aus dem Tutorial "Mattermost auf VPS installieren" (Punkt 1.3.3) kopiert werden, das der Anbieter auf seiner Website kostenfrei bereitstellt.
4. Hostname anpassen
Nun müssen in dem kopierten Code noch einige Anpassungen vorgenommen werden. Zunächst werden folgende Zeilen auf den eigenen Hostnamen geändert:
- "traefik.http.routers.mattermost.rule=Host(chat.euredomain.de )"
- "traefik.http.routers.mattermost-secure.rule=Host(chat.euredomain.de )"
chat.euredomain.de muss gegen die eigene (Haupt- oder Sub-)Domain getauscht werden.
5. Datenbank-Passwörter anpassen
Jetzt werden sichere Datenbank-Kennwörter vergeben. Wichtig: Damit PostgresSQL und Mattermost kommunizieren können, müssen beide Dienste ein identisches Passwort haben. Im kopierten Code sind folgende Zeilen betroffen:
- POSTGRES_PASSWORD=mmuser_password
- MM_PASSWORD=mmuser_password
Mit sicherem Passwort sehen diese beispielsweise wie folgt aus:
- POSTGRES_PASSWORD=fas12dAf53
- MM_PASSWORD= fas12dAf53
6. Datenbank-Verbindung anpassen
Nun muss noch eine Zeile angepasst werden, die Informationen für die Datenbankverbindung enthält. Im Beispiel sind dies folgende Daten:
- DB-Server: db
- Nutzername: mmuser
- Passwort: fas12dAf53
- Datenbank-Name: mattermost
Die Syntax lautet:
MM_SQLSETTINGS_DATASOURCE=postgres://${MM_USERNAME}:${MM_PASSWORD}@db:5432/${MM_DBNAME}?sslmode=disable&connect_timeout=10
Code-Zeile vorher:
MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10
Code-Zeile nachher:
MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:fas12dAf53@db:5432/mattermost?sslmode=disable&connect_timeout=10
7. Container erstellen
Abschließend wird noch der Mattermost-Docker-Container zusammengebaut - mit folgenden Eingaben:
cd /opt/containers/mattermost
docker-compose build
Hinweis: Dieser Vorgang kann mehrere Minuten dauern.
8. Mattermost starten
Nachdem der Mattermost-Docker-Container erstellt wurde, kann er in diesem Schritt gestartet werden:
docker-compose -f /opt/containers/mattermost/docker-compose.yml up -d
Auch dies dauert einige Minuten.
9. Sprache anpassen
Jetzt geht es mit einem Webbrowser auf die Mattermost-Domain, wo eine Anmeldemaske erscheint. Hier wird ein Administrator-Account angelegt. Anschließend wird zu "Go to System Console" navigiert, um weitere Einstellungen vorzunehmen. Unter anderem lässt sich hier unter "Localization" die Server- und Clientsprache anpassen.
Tipp: Die Sprache des aktuellen Benutzers kann erst auf Deutsch geändert werden, wenn das erste Team in Mattermost erstellt wurde.
- Herr Lukas Gehrer
- Kohlmarkt 8-10
- 1010 Wien
- Österreich
- USt-IdNr.: ATU78329649
- T: 0043-66-488786237