mattermost
mattermost hat den Anspruch eine opensource-Alternativen zu dem bekannten Diensten slack und hipchat zu bieten. Es kann in Eigenregie betrieben werden. Es stehen zahlreiche Clients für Mobil- und Desktopbetriebssyteme zur Verfügung.
Wichtige Features (z.B. push aufs Handy bzw. Kanalbenachrichtigungen ohne Erwähnung, LDAP-Anbindung) erfordern eine enterprise-Version.
Links
Webhooks
Nützlich sind die webhooks, damit kann mattermost auch von anderen Programmen als Nachrichtenzentrale benutzt werden. Es sind HTTP POST mit JSON-Payload.
Installation
Leider existieren keine offiziellen Pakete, eigene Pakete können mit dem mattermost-packager erzeugt werden.
detaillierte Anleitungen für verschiedene Distributionen bzw. ein paar mehr oder weniger gute rollen auf ansible-galaxy.
Konfiguration
Verzeichnisstruktur
Programmverzeichnis /opt/mattermost: Eigentümer root, Gruppe root, nur die folgende Ordner verlinken in das Datenverzeichnis.
- config → ../mattermost-daten/config/
- data → ../mattermost-daten/data/
- logs → ../mattermost-daten/logs/
- plugins → ../mattermost-daten/plugins/
Datenverzeichnis /opt/mattermost-daten: Eigentümer mattermost, Gruppe mattermost
- config
- data
- logs
- plugins
systemd Unitfile
/lib/systemd/system/mattermost.service
[Unit] Description=Mattermost After=network.target After=mysql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=60 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Upgrade
Grundsätzlich ist durch eine Trennung von Daten und Code das upgrade relativ stressfrei und kann mit symlinks passieren:
service mattermost stop
- backup machen
- symlink mattermost wegnehmen!! (wird sonst durch neue version ersetzt)
tar xvjf matermost-team-NEWVERSION.tar.gz
mv matermost mattermost-x.y.z
- symlink mattermost auf neue Version zeigen lassen:
ln -s mattermost-x.y.z matermost
- symlinks für die Verzeichnisse unterhalb von mattermost-daten anlegen:
- config → ../mattermost-daten/config/
- data → ../mattermost-daten/data/
- logs → ../mattermost-daten/logs/
- PluginSettings → Directory: Standard ist: plugins → ../mattermost-daten/plugins/
- PluginSettings → ClientDirectory muss existieren, Standard ist „./client/plugins“:
mkdir mattermost/client/plugins && chown mattermost.mattermost mattermost/client/plugins
service mattermost start
setcap cap_net_bind_service=+ep /opt/mattermost/bin/platform
bzw. ab Version 5.x:
setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost
service mattermost start
Features
Wunschliste:
- Guest Accounts (Website Bot etc.)