Mattermost is an self-hosted open source communication software Slack alternative. Mattermost is central communication place for your teams and clients. It is written in Golang and React and depends on Mysql or Postgresql database server. It is fully compatible with Slack but not limited like Slack. It supports Slack incoming, outgoing webhooks, integrations and plugins.

We chose mattermost because it is self-hosted solution – in short PRIVACY at first. If you can look in any communication tool you use daily, what type of secret information you send daily, weekly, daily ???  you must understand what privacy is. If you trust the major ones and their SAAS communication solutions, ok, just close this TAB, keep it in between you ears.

Mattermost server can be run as a binary on linux server or in docker container. Mattermost client can be run from webserver or it is available as a Mobile / Desktop app for iOS, Android, Windows, Linux or macOS. Packages are mostly available in official linux repositories for Debian, Ubuntu, Arch, Manjaro.

You can use many plugins and integrations in Mattermost so it can act not only as communication software but even central control panel.

Most management commands are run as slash commands in mattermost

these commands will work only when plugin or integration is configured properly

Check out the marketplace with plugins and integrations

Some examples of slash commands used in Mattermost client – how to manage multiple external apps from Mattermost server :

/genie close all

this will close all alerts in Opsgenie

/jenkins build myjob

runs myjob in Jenkins via webhook

/gitlab subscriptions add dave/myrepo issues,merges,pushes,pipelines

start notification of issues, merges, pushes and pipelines in current channel, webhook or bot must have permission to send msg into current channel !

We use mattermost running in docker containers with bi-directional communication with our self-hosted Jitsi Meet server, Jenkins, Gitlab CI/CD, Zabbix monitoring server, Opsgenie and multiple incoming and outgoing webhooks. With this setup you can be alerted, notified about statuses of monitored network, about development lifecycles, releases, issue, jobs from Jenkins and so on. Minimal hardware requirements for VPS is 2 VCPU, 2 GB RAM – these are minimum for running Mattermost server = 4 docker containers.