graphic about Matterbridge building bridges to other chat tools

Bei Kopano entwickeln wir bereits seit einiger Zeit Pakete, um Mattermost einfach zu installieren und zu aktualisieren. Für diejenigen, die den Univention Corporate Server (UCS) nutzen, führen wir eine App, die Mattermost einrichtet und automatisch für Sie konfiguriert.

Was aber, wenn Sie bereits eine Chat-Plattform in Ihrem Unternehmen nutzen und nicht alle Nutzer zur selben Zeit von dieser abwandern können? Oder wenn Sie all Ihren Kunden einen Mattermost Chat bereitstellen möchten, gleichzeitig aber nur eine Mattermost Subskription für Ihre internen Nutzer erwerben möchten? Oder gibt es einige unter Ihren Nutzern, die ihre alte Chat-Plattform und Clients benötigen oder behalten möchten?

 

Die Chat Bridge Matterbridge wurde entwickelt, um bei genau diesen oben genannten Szenarien zu helfen. Wie der Name bereits erahnen lässt, fungiert Matterbridge als eine Brücke zwischen den unterschiedlichen Providern (namentlich IRC, XMPP, Gitter, Mattermost, Slack, Discord, Telegram, Rocket.Chat, Hipchat (via xmpp), Matrix, Steam, ssh-chat und Zulip) und leitet Nachrichten und Dateien, die beispielsweise in Jabber gepostet wurden, an Mattermost weiter.

Am 9. August 2018 habe ich diesen Artikel auf unserem eigenen Blog veröffentlicht. Da Kopano und Mattermost auch im Univention App Center bekannt sind, wurde ich von meinen Kollegen bei Univention darum gebeten, den Artikel hier noch einmal mit Ihnen zu teilen. Ich erkläre Ihnen im Folgenden, wie Sie Matterbridge installieren und konfigurieren können, um einen bestimmten Kanal in Mattermost widerzugeben.

Ausführen von Matterbridge

Anmerkung: Wenn Sie Matterbridge auf Univention verwenden möchten, können Sie diesen Teil überspringen und direkt zu dem Absatz Matterbridge auf Univention verwenden gehen.

Die aktuelle Version von Matterbridge kann von der Matterbridge Seite auf Github heruntergeladen werden. Als Alternative zum Ausführen der obigen Binärdatei kann Matterbridge auch über Docker ausgeführt werden.

Bevor wir Matterbridge verwenden, brauchen wir eine Basiskonfiguration. Hierzu muss zunächst ein dafür bestimmtes Service Konto in Mattermost erstellt werden.

Die folgenden Befehle erstellen ein Servicekonto namens „Matterbridge“. Achten Sie bei der Ausführung der folgenden Befehle darauf, ein vorab erstelltes Zufallspasswort für dieses „Matterbridge“ Konto zu wählen und für später zu notieren.

Anschließend wird der Nutzer einem Team namens „Univention“ zugeordnet. Des Weiteren werden zwei neue Kanäle innerhalb dieses Teams mit der ID „Matterbridge1“ und „Matterbridge2“ erstellt:

mattermost-platform user create --email="matterbridge@$your.domain" 
--password="password-of-matterbridge-user" --username=matterbridge

mattermost-platform team add Univention matterbridge

mattermost-platform channel create --team Univention --name matterbridge1
--display_name "Matterbridge Demo Channel"

mattermost-platform channel create --team Univention --name matterbridge2
--display_name "Matterbridge Demo Channel (mirror)"

Mit dem jetzt verfügbaren Benutzer und diesen Kanälen können wir eine neue Konfigurationsdatei für Matterbridge erstellen. Die Beispielkonfiguration unten ist hoffentlich selbsterklärend. Stellen Sie sicher, dass Sie Werte wie Server, Team, Passwort und Kanal Ihrem lokalen Umfeld entsprechend anpassen. Ich empfehle, die Konfiguration z. B. in /etc/matterbridge zu speichern.

[mattermost]
[mattermost.univention]
#The mattermost hostname. (do not prefix it with http or https)
Server="address.of.mattermost"

#the team name as can be seen in the mattermost webinterface URL
#in lowercase, without spaces
Team="univention"

#login/pass of your bot.
#Use a dedicated user for this and not your own!
Login="matterbridge"
Password="password-of-matterbridge-user"

RemoteNickFormat="<{NICK}> "
PrefixMessagesWithNick=true
# should be set to false when using a trusted ssl cert (system ca may not be trusted inside of the docker container)
SkipTLSVerify=true

[[gateway]]
name="gateway1"
enable=true
    [[gateway.inout]]
    account="mattermost.univention"
    channel="matterbridge1"

    [[gateway.inout]]
    account="mattermost.univention"
    channel="matterbridge2"

Mit einem Benutzer und der vorhandenen Konfiguration können wir Matterbridge zum ersten Mal starten. Der folgende Befehl startet Matterbridge im Vordergrund. Solange Matterbridge läuft, werden Nachrichten zwischen den konfigurierten Kanälen gespiegelt.

docker run -ti -v /etc/matterbridge/matterbridge.toml:/matterbridge.toml 42wim/matterbridge

Screenshot Matterbridge Demo ChannelScreenshot Matterbrdige Demo channel (mirror)

Wenn Sie mit Ihrer Konfiguration zufrieden sind, können Sie den Docker-Befehl im Vordergrund stoppen und stattdessen im Hintergrund ausführen. Dies kann mit dem folgenden Befehl erreicht werden:

docker run -d --restart=unless-stopped -v /etc/matterbridge/matterbridge.toml:/matterbridge.toml  42wim/matterbridge

Chat Bridge Matterbridge auf Univention verwenden

Wenn Sie Mattermost und Matterbridge auf einem Univention Corporate Server (UCS) laufen lassen, ist das Einrichten viel einfacher, da die Installation der App bereits die Erstellung des Matterbridge-Benutzers und eines Beispiels matterbridge.toml für Sie übernimmt.

Um die Matterbridge-Konfiguration nach der Erstinstallation zu ändern, müssen Sie die Datei /etc/matterbridge/matterbridge.toml ändern. Da Matterbridge Änderungen an seiner Konfiguration nicht automatisch erkennt, müssen Sie die Anwendung neu starten, indem Sie systemctl restart docker-app-matterbridge.service ausgeben.

Weitere Informationen zur Ausführung der App werden nach der Installation in einer „readme“-Datei angezeigt.

Weitere Schritte

Sie haben nun ein sehr einfaches Demo-Setup, in welchem die Chat Bridge Matterbridge alle Nachrichten eines Kanals in einen anderen spiegelt. Bitte schauen Sie im Matterbridge Wiki nach, wie Sie Matterbridge so konfigurieren, dass es sich gleichzeitig mit Ihren lokalen Chat- oder ChatOps-Plattformen und Mattermost verbindet.

Sie möchten mehr über Matterbridge erfahren? Lassen Sie es uns in den Kommentaren wissen oder kontaktieren Sie uns direkt über info@kopano.com

Jetzt Matterbridge in UCS testen



    

UCS Core Edition jetzt kostenfrei einsetzen!

Zum Downloadbereich
Felix Bartels

Felix ist ein begeisterter Forum-Nutzer, ein Fernseh- und Filmjunkie und ein Fan davon, das richtige Werkzeug für den Job zu haben. In den letzten zehn Jahren war er als Vertriebsexperte, Professional Services Engineer und Product Owner eng mit den Partnern und Kunden von Kopano verbunden. Seine Erfahrung und sein analytisches Geschick machen ihn zum perfekten Release & QA Manager. Er ist maßgeblich an der Weiterentwicklung von Kopano Groupware Core, der Kopano OL Extension und dem Z-Push Projekt beteiligt.

Was ist Ihre Meinung? Hinterlassen Sie einen Kommentar!

Kommentare

  1. Thanks! Looking forward to use this as a template for more integrations.

    Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert