Go back

Installation and advantages of Mattermost messaging platform

Mattermost is a messenger designed for collaboration over projects. It was developed as an alternative to popular messengers like Slack.

Although Mattermost offers a wide range of features, it cannot be viewed as an all-in-one system for corporate communications, e.g., it does not support video conferencing.

In this article, we will discuss the key aspects of Mattermost and show how it can be deployed on a machine where Debian 11 is installed.

Brief description of Mattermost

The key feature of Mattermost is that it can be deployed within a local network (on-prem installation). This installation method ensures security of the system and enables administrators to take full control over users’ data. The cloud-based version of the messenger is also available.

In addition to on-prem installation, Mattermost provides other advantages, in particular, it offers a wide range of features for teamwork:

  • Private and group chats
  • Task manager (called Boards in Mattermost)
  • Scripts for automation of routine tasks (e.g., sending recurring messages to a group of users at fixed time intervals).

Due to the advantages listed above, Mattermost is often used as a corporate communication platform.

Alternative to Mattermost

In addition to its obvious strengths, Mattermost also has some limitations. For example, this solution does not support audio and video calls out of the box (this feature makes communication much easier in many cases). To add such features, the administrator of the Mattermost server needs to install and configure an additional plug-in.

As a rule, administrators select Jitsi, a video conferencing service based on the WebRTC technology. This solution may suffice in some simple cases, but it will not provide you with corporate-grade video conferencing. Here are some of the features that Jitsi is lacking:

  • It is possible to hold conferences in one mode only: when all participants can see and hear each other. Other modes such as a role-based conference are not supported.
  • One cannot schedule a meeting on the selected date and time.
  • There are few opportunities for setting video layouts.
  • No support for SIP/H.323 calls out of the box (additional software has to be installed).
  • User rights management is very limited.

One can consider TrueConf Server as a corporate-grade video conferencing system. This solution supports a wide range of features:

  • Multiple video conferencing modes: all on screen, smart meeting, moderated role-based conference, and video lecture.
  • Ability to configure registration settings for public conferences (webinars) and hold PIN-protected meetings.
  • Private and group chats, file sharing, message forwarding and formatting.
  • SIP/H.323 calls and connection to RTSP streams (other conferences or streams from IP cameras).
  • Integration with LDAP catalog services (Microsoft Active Directory, OpenLDAP and others).
  • Advanced features for large enterprises that have multiple video conferencing servers, single address space, backup, load balancing, and so forth.

TrueConf Server is designed for on-premise installation which will make sure that your data and events will not be accessible from outside the corporate network. To learn more about security measures, read this article.

So, by selecting TrueConf Server, you will get a secure and feature-rich system of corporate communications which will not require time-consuming installation of many additional modules.

Mattermost installation on Debian

System requirements

The Mattermost server can be installed on the following operating systems:

  • Ubuntu 18.04+
  • Debian 10+
  • CentOS 6+
  • RedHat Enterprise Linux 7+
  • Oracle Linux 6+.

The following databases are supported:

  • MySQL 5.7.12, 8.0.12+
  • PostgreSQL 11.0+.

Performance requirements will vary significantly depending on the expected load. For example, 1 vCPU core and 2 gigabytes of RAM will be enough for a server with up to 1 000 users. If there are between 1 and 2 thousand active users on the server, at least 2 vCPU cores and 4 gigabytes of RAM will be needed.

Installation process

There are multiple ways of deploying Mattermost on a machine. We will use a Docker container which is one of the easiest and most reliable deployment methods. We will also need Docker Compose.

As it has been said before, we will install Mattermost on Debian 11.

Run the following command to check if Docker has been installed on the system:

If necessary, install Docker and Docker Compose as it is described in the steps 1 and 2 of this article.

All the commands listed below should be run with the sudo program or in the superuser mode (run the su command and enter the root password to switch to this mode).
  1. Clone the Mattermost repository to your machine and go to the directory where the repository is saved:

  2. Here, you can find the file env.example, it is a template with environment variables needed by Mattermost. Copy its content to the file named .env:

    This template includes all required values. However, if you need to change some settings, open the file .env and change the value of the selected environment variable.

    You can check the description of environment variables on the Mattermost website. These descriptions are grouped by sections depending on the configured parameters. Besides, the file .env includes commentaries describing the purpose of each section with variables.

    For example, to change the port that should be listened to by Mattermost, specify the port number in the APP_PORT variable:

    Installation and advantages of Mattermost messaging platform 1

    Please note that if you will use the domain name to connect to the Mattermost server, this name must be written to the DOMAIN variable.
  3. Create the directories needed by Mattermost:

  4. As the owner of the mattermost directory, create a user/group with UID/GID equal to 2000/2000 respectively (these are User ID and Group ID inside the Docker container; the commands will be run on their behalf).

    The mattermost directory will include the settings of your server and its data.

  5. Next, you need to run the Docker container with Mattermost. This command will vary depending on whether or not you want to use the NGINX web server as the proxy for Mattermost. This web server is included in the Docker container by default and will be started together with Mattermost. The NGINX proxy server will make the use of Mattermost more secure. The real address and port of the chat server will be hidden which will make it impossible to penetrate the server. Besides, one can configure filters for suspicious requests, load balancing and many other settings on the NGINX side. However, the proxy server should be preliminary configured. Check here for more details.

    Starting with NGINX as a proxy:

    Starting without NGINX as a proxy:

    If you want your Mattermost server to work via HTTPS, there are two options:

    1. Configure HTTPS on the side of the Mattermost server.
    2. Configure HTTPS on the side of the NGINX proxy (if it is used).

    Each of these options has advantages and disadvantages. Check the Mattermost website to learn more.

  6. Mattermost is currently installed and running. Now it is necessary to register the server administrator account. To do it, open the browser and go to these address:

    http://your.address:port

    Replace your.address with the IP address of the machine where Mattermost is deployed. Alternatively, you can replace this part with the domain name.

    Replace port with the port specified in the APP_PORT variable from your .env file (8065 is used by default).

  7. Fill out the form on the opened page and click on the Create Account button:

    Installation and advantages of Mattermost messaging platform 2

  8. You will open the page where a team can be created (an entity within which chats, boards and other objects will be created). On this page, you can also go to the Mattermost administrator panel. Click on the button Go to System Console.

    Installation and advantages of Mattermost messaging platform 3

  9. You will access the Mattermost server control panel. Here, you can create accounts for the users of your server.

    Installation and advantages of Mattermost messaging platform 4

    To sign into their accounts, a user will need to this address:

    http://mattermost.server.address:mattermost.server.port

    where mattermost.server.address is the address or domain name of the machine where Mattermost is deployed while mattermost.server.port is the port listened to by the chat server.

    If you are using the NGINX proxy, your users will need to enter the address and port of the proxy server.

Still have questions? Please contact our support team directly via online chat.

Sign up for newsletter