Wähle einen Artikel
Mattermost Chatsystem auf vServer/VPS installieren
Mattermost Chatsystem auf vServer/VPS installieren

0. Überblick

  • Verwendetes System: Debian 11 64 bit 
  • vServer Cloud Server XXL
  • Genutzter User: Ich nehme alles als „root“ vor
  • Zeitdauer: ca. 10 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:

1. Mattermost installieren

1.1 Einleitung

Mattermost (https://mattermost.com) ist ein open Source Chat Dienst. Man kann innerhalb von Mattermost mit einzelnen Personen oder Gruppen chatten. Die Besonderheit von Mattermost ist, dass man auch „bots“ in die Kanäle einbinden kann, welche automatisiert Aufgaben erfüllen. Mattermost gibt es als kostenfreie Version zum Betreiben auf dem eigenen Server oder als kostenpflichtige Enterprise Version.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Mattermost werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Mattermost neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren

1.3.1 Daten von git kopieren

Nun kopieren wir uns die aktuelle Version von Mattermost. Dazu gebt ihr folgendes ein.

apt-get update

apt-get install git

git clone https://github.com/mattermost/mattermost-docker.git /opt/containers/mattermost

Dabei werden die Daten ins Verzeichnis /opt/containers/mattermost kopiert. Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Mattermost abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/mattermost/volumes/app/mattermost/

Nun passen wir noch die Ordnerberechtigungen an.

chown -R 1000:1000 /opt/containers/mattermost/volumes/app/mattermost/

1.3.3 docker-compose.yml anpassen

Nun können wir mit der eigentlichen „Installation“ von Mattermost beginnen. Wir haben uns bereits eine docker-compose.yml per git runtergeladen. Da wir hier jedoch zu viele Anpassungen machen müssen, löschen wir diese und legen uns eine eigene an. Dazu gebt ihr folgendes ein:

rm /opt/containers/mattermost/docker-compose.yml

nano /opt/containers/mattermost/docker-compose.yml

Nun kopiert ihr folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren Mattermost Container.

version: "3"

services:

db:

build: db

read_only: true

restart: unless-stopped

volumes:

- ./volumes/db/var/lib/postgresql/`data`:/var\/lib/postgresql/`data` (Hier bitte die `` Zeichen entfernen/ignorieren)

- /etc/localtime:/etc/localtime:ro

environment:

- POSTGRES_USER=mmuser

- POSTGRES_PASSWORD=mmuser_password

- POSTGRES_DB=mattermost

networks:

- default

app:

build:

context: app

args:

- edition=team

- PUID=1000

- PGID=1000

# - MM_VERSION=5.31

restart: unless-stopped

volumes:

- ./volumes/app/mattermost/config:/mattermost/config:rw

- ./volumes/app/mattermost/data:/mattermost/data:rw (Hier bitte die `` Zeichen ignorieren)

- ./volumes/app/mattermost/logs:/mattermost/logs:rw

- ./volumes/app/mattermost/plugins:/mattermost/plugins:rw

- ./volumes/app/mattermost/client-plugins:/mattermost/client/plugins:rw

- /etc/localtime:/etc/localtime:ro

environment:

# set same as db credentials and dbname

- MM_USERNAME=mmuser

- MM_PASSWORD=mmuser_password

- MM_DBNAME=mattermost

# use the credentials you've set above, in the format:

# MM_SQLSETTINGS_DATASOURCE=postgres://${MM_USERNAME}:${MM_PASSWORD}@db:5432/${MM_DBNAME}?sslmode=disable&connect_timeout=10

- MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10

# in case your config is not in default location

#- MM_CONFIG=/mattermost/config/config.json

networks:

- default

web:

build: web

read_only: true

restart: unless-stopped

volumes:

# This directory must have cert files if you want to enable SSL

- ./volumes/web/cert:/cert:ro

- /etc/localtime:/etc/localtime:ro

cap_drop:

- ALL

labels:

- "traefik.enable=true"

- "traefik.http.routers.mattermost.entrypoints=http"

- "traefik.http.routers.mattermost.rule=Host(chat.euredomain.de)" # Hier eure URL eingeben #

- "traefik.http.middlewares.mattermost-https-redirect.redirectscheme.scheme=https"

- "traefik.http.routers.mattermost.middlewares=mattermost-https-redirect"

- "traefik.http.routers.mattermost-secure.entrypoints=https"

- "traefik.http.routers.mattermost-secure.rule=Host(chat.euredomain.de)" # Hier eure URL eingeben #

- "traefik.http.routers.mattermost-secure.tls=true"

- "traefik.http.routers.mattermost-secure.tls.certresolver=http"

- "traefik.http.routers.mattermost-secure.service=mattermost"

- "traefik.http.services.mattermost.loadbalancer.server.port=8080"

- "traefik.docker.network=proxy"

- "traefik.http.routers.mattermost-secure.middlewares=secHeaders@file"

networks:

- proxy

- default

networks:

proxy:

external: true

Nun müssen wir noch einiges anpassen.

1.3.4 Hostname anpassen

Nun müsst ihr noch den Hostnamen anpassen, über welchen später DokuWiki erreichbar sein soll.

Diese beiden Zeilen müsst ihr anpassen.

- "traefik.http.routers.mattermost.rule=Host(chat.euredomain.de )"

- "traefik.http.routers.mattermost-secure.rule=Host(chat.euredomain.de)"

In meinem Fall also:

- "traefik.http.routers.mattermost.rule=Host(chat.testbereich.net)"

- "traefik.http.routers.mattermost-secure.rule=Host(chat.testbereich.net)"

Wenn ihr Mattermost direkt auf eurer „Hauptdomain“ betreiben wollt, dann ändert ihr es folgendermaßen ab:

"traefik.http.routers.mattermost.rule=Host(www.euredomain.de,euredomain.de)"

"traefik.http.routers.mattermost-secure.rule=Host(www.euredomain.de,euredomain.de)"

1.3.5 Datenbank Passwörter anpassen

Nun vergeben wir noch sicheren Kennwörter für unsere Datenbank. Achtet darauf, dass ihr jeweils bei PostgresSQL als auch bei Mattermost das identische Kennwort eingebt, damit die Dienste kommunizieren können.

vorher:

- POSTGRES_PASSWORD=mmuser_password

- MM_PASSWORD=mmuser_password

Abgesichert:

- POSTGRES_PASSWORD=fas23dAf43

- MM_PASSWORD= fas23dAf43

1.3.6 Datenbank Verbindung anpassen

Nun müssen wir noch eine Zeile anpassen, in der wir Mattermost mit unserer Datenbank verbinden. Hier müssen wir alle unsere Verbindungsdaten angeben.

Bei mir ist das:

  • DB-Server: db
  • Nutzername: mmuser
  • Passwort: fas23dAf43
  • Datenbank-Name: mattermost

Syntax

MM_SQLSETTINGS_DATASOURCE=postgres://${MM_USERNAME}:${MM_PASSWORD}@db:5432/${MM_DBNAME}?sslmode=disable&connect_timeout=10

vorher

MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:mmuser_password@db:5432/mattermost?sslmode=disable&connect_timeout=10

angepasst

MM_SQLSETTINGS_DATASOURCE=postgres://mmuser:fas23dAf43@db:5432/mattermost?sslmode=disable&connect_timeout=10

1.3.7 Container bauen

Nun lassen wir uns unseren Container zusammenbauen. Dazu gebt ihr folgendes ein:

cd /opt/containers/mattermost
docker compose build 

Dieser Vorgang kann einige Minuten dauern.

2. Mattermost starten

Gebt nun folgendes ein, um euren Mattermost Container zu starten:

docker compose -f /opt/containers/mattermost/docker-compose.yml up -d 

Dies dauert nun einige Minuten. Danach könnt ihr auf eure Domain gehen. Bei mir ist das https://chat.testbereich.net und solltet dann folgendes sehen.

Hier müsst ihr jetzt einen Administrator Account anlegen. Gebt dazu eine E-Mail-Adresse, Passwort sowie Nutzername an.

Anschließend seht ihr dieses Fenster. Hier klicken wir auf „Go to System Console“.

In diesem Menü können wir nun alle Einstellungen von Mattermost vornehmen.

3. Sprache anpassen

3.1 Serversprache anpassen

Nun ändern wir die Sprache unseres Servers auf Deutsch. Dazu geht ihr auf „Localization“.

Hier könnt ihr nun die Sprachen auswählen, die standardmäßig verwendet werden sollen.

3.2 Sprache des aktuellen Benutzers ändern

Um die Sprache eures aktuellen Benutzers zu ändern, klickt ihr auf die „System Console“ oben links und wählt „Team Selection“ aus.

Nun erstellen wir ein neues Team. Ein Team ist eine Struktur, innerhalb derer später die Leute miteinander kommunizieren können. Man kann diese Teams später jederzeit wieder anpassen.

Nun vergebt ihr einen neuen Teamnamen.

Jetzt bekommt euer Team noch eine URL. Hier klickt ihr auf „finish“.

Nun solltet ihr diese Ansicht sehen.

Hier klickt ihr nun auf euren Namen oben links und wählt dann „Account Settings“ aus.

Als nächstes wählt ihr „Display“ aus.

Hier scrollt ihr bis nach ganz unten. Dort könnt ihr die Sprache ändern.

Nun seht ihr alles auf Deutsch.

Nächster Artikel
Minecraft Server auf Linux vServer installieren
Weitere passende Themen