How to Deploy MatterMost - an Opensource Slack alternative

Updated on July 25, 2024
How to Deploy MatterMost - an Opensource Slack alternative header image

Introduction

Mattermost is an open-source messaging and collaboration platform that enables teams to securely connect using multiple communication options such as real-time messaging, voice calls, and screen sharing. It’s an alternative to instant messaging platforms such as Slack and highly extensible with features such as file sharing, notifications, webhooks, and integration with bots to customize the server based on your requirements.

This article explains how to deploy Mattermost and securely configure it on a Ubuntu server using your domain name. You will integrate Mattermost with a Vultr Managed Database for PostgreSQL to enable high availability and enable production features such as email notifications to enable multi-user access on your server.

Prerequisites

Before you begin:

Create a new Mattermost Database

Mattermost supports MySQL and PostgreSQL databases to store the application data and runtime configurations. Integrating a managed database with Mattermost improves the application performance and offloads database storage functionalities from your server. Follow the steps below to connect to your Vultr Managed Database for PostgreSQL cluster and create a new database to use with Mattermost.

  1. Install the PostgreSQL client package on your server.

    console
    $ sudo apt install postgresql-client
    
  2. Connect to your Vultr Managed Database for PostgreSQL cluster using the psql utility.

    console
    $ psql -h 7598276-0.vultrdb.com -U vultradmin -p 16751 -d defaultdb
    

    Enter your Vultr Managed Database for PostgreSQL password to connect to the cluster.

  3. Create a new database to use with Mattermost. For example, mattermostdb.

    sql
    defaultdb=> CREATE DATABASE mattermostdb;
    
  4. Create a new PostgreSQL user role to use with the database. For example, mmadmin.

    sql
    defaultdb=> CREATE USER mmadmin WITH PASSWORD 'your-password';
    
  5. Grant the user full privileges to the Mattermost database.

    sql
    defaultdb=> GRANT ALL PRIVILEGES ON DATABASE mattermostdb to mmadmin;
    
  6. Grant the user access to all objects in the public schema.

    sql
    defaultdb=> GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmadmin;
    
  7. Grant the user ownership privileges to the mattermostdb database.

    sql
    defaultdb=> ALTER DATABASE mattermostdb OWNER TO mmadmin;
    
  8. Exit the PostgreSQL console.

    sql
    defaultdb=> \q
    
  9. Connect to your Vultr Managed Database for PostgreSQL using your Mattermost database. Replace mattermostdb and mmadmin with the actual database details you created.

    console
    $ psql -h 7598276-0.vultrdb.com -U mmadmin -p 16751 -d mattermostdb
    

    Enter the PostgreSQL user password to log in and access the database.

  10. Verify that the PostgreSQL console uses your Mattermost database. Then, list all databases available to the user.

    sql
    mattermostdb=> \l
    

    Verify that the user has access to the Mattermost database. Your output should be similar to the one below:

                                      List of databases
        Name      |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
    ------------+----------+----------+-------------+-------------+-----------------------
     _dodb        | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =T/postgres          +
                  |          |          |             |             | postgres=CTc/postgres
     defaultdb    | vultradmin  | UTF8  | en_US.UTF-8 | en_US.UTF-8 | 
     mattermostdb | mmadmin  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/mmadmin          +
                  |          |          |             |             | mmadmin=CTc/mmadmin
     template0    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
                  |          |          |             |             | postgres=CTc/postgres
     template1    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
                  |          |          |             |             | postgres=CTc/postgres
    (5 rows)
  11. Exit the PostgreSQL console.

    sql
    mattermostdb=> \q
    

Install Mattermost

  1. Add the latest Mattermost GPG public key to your server's keyrings.

    console
    $ curl -sL -o- https://deb.packages.mattermost.com/pubkey.gpg |  gpg --dearmor | sudo tee /usr/share/keyrings/mattermost-archive-keyring.gpg > /dev/null
    
  2. Download the Mattermost repository script and run it on your server.

    console
    $ curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost
    

    The above command downloads the latest Mattermost repository script and outputs the file contents with stdout. Then, bash –s executes the file contents with the mattermost option to import all repository information on your server.

  3. Update the server package index.

    console
    $ sudo apt update
    
  4. Install Mattermost.

    console
    $ sudo apt install mattermost -y
    
  5. View the Mattermost system service status to verify that the application is available on your server.

    console
    $ sudo systemctl status mattermost
    

    Output:

    ● mattermost.service - Mattermost
         Loaded: loaded (/lib/systemd/system/mattermost.service; enabled; vendor preset: enabled)
         Active: inactive (dead)

    Based on the above output, Mattermost is installed but not actively running on the server. Modify the Mattermost server configuration to set up the database connection details and securely configure the application for access using your domain.

Configure Mattermost

Mattermost creates the /opt/mattermost directory on your server that includes the full application and configuration files. Within the directory, the config subdirectory contains a config.json file that includes all Mattermost configurations required to run the application on your server. Follow the steps below to configure Mattermost to use your Vultr Managed Database for PostgreSQL and specify a domain to run the application on your server.

  1. Navigate to the Mattermost configuration files directory.

    console
    $ cd /opt/mattermost/config/
    
  2. Copy the default Mattermost configuration file config.defaults.json and rename it to config.json.

    console
    $ cp config.defaults.json  config.json
    
  3. Grant the Mattermost user ownership privileges to the config.json file.

    console
    $ sudo chown mattermost:mattermost config.json
    
  4. Set the file permissions to 600 to limit other system users or processes from accessing the file.

    console
    $ sudo chmod 600 config.json
    
  5. Long list the directory files and verify the new user permission changes.

    console
    $ ls -l
    

    Output:

    total 52
    -rw-r--r-- 1 mattermost mattermost  1137 May  1 14:58 cloud_defaults.json
    -rw------- 1 mattermost mattermost 20036 May  1 14:58 config.defaults.json
    -rw------- 1 mattermost mattermost 22884 May 20 20:44 config.json
    -rw-r--r-- 1 mattermost mattermost   260 May  1 14:58 README.md

    Based on the above output, rw - - - means only the Mattermost user can read or write changes to the config.json file. However, privileged users such as root can modify the file with elevated privileges.

  6. Open the Mattermost config.json file using a text editor such as Nano.

    console
    $ sudo nano config.json
    
  7. Find the ServiceSettings section to set up your Mattermost connection settings.

    json
    "ServiceSettings": {
        "SiteURL": "https://mattermost.example.com",
        "WebsocketURL": "",
        "LicenseFileLocation": "",
        "ListenAddress": ":8065",
    
    • Enter your Mattermost domain URL in the SiteURL field. Replace mattermost.example.com with your actual domain.
    json
    "SiteURL": "https://mattermost.example.com",
    
    • Find the following SqlSettings section to set up your database settings.
    json
    "SqlSettings": {
      "DriverName": "postgres",
      "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10\u0026binary_parameters=yes",
      "DataSourceReplicas": [],
    
    • Replace the default DataSource values with your Vultr Managed Database for PostgreSQL details you created earlier. In addition, change the sslmode option from default to require.
    json
    "DataSource": "postgres://mmadmin:your-password@7598276-0.vultrdb.com:16751/mattermostdb?sslmode=require\u0026connect_timeout=10\u0026binary_parameters=yes",
    

    Save and close the file.

  8. Start the Mattermost server to validate and apply your configuration.

    console
    $ sudo systemctl start mattermost
    

    Wait at least 5 minutes for the Mattermost server to apply all configurations and write data to the PostgreSQL database. When the process is complete, verify that your output does not include any errors. If you receive any errors similar to the one below, open your config.json file and verify your configuration changes.

    Job for mattermost.service failed because the control process exited with error code.
    See "systemctl status mattermost.service" and "journalctl -xe" for details.

    Run the following command to view the Mattermost log entries and troubleshoot any application errors.

    console
    $ sudo cat /var/log/syslog | tail -n 20
    
  9. View the Mattermost server status and verify that the application is active.

    console
    $ sudo systemctl status mattermost
    

    Your output should be similar to the one below.

    ● mattermost.service - Mattermost
         Loaded: loaded (/lib/systemd/system/mattermost.service; enabled; vendor preset: enabled)
         Active: active (running) since Mon 2024-05-20 18:57:10 UTC; 2h 54min ago
       Main PID: 34945 (mattermost)
          Tasks: 42 (limit: 2213)
         Memory: 368.2M
            CPU: 27.937s
         CGroup: /system.slice/mattermost.service
                 ├─34945 /opt/mattermost/bin/mattermost
                 ├─34954 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
                 ├─34961 plugins/com.mattermost.calls/server/dist/plugin-linux-amd64
                 ├─34969 plugins/playbooks/server/dist/plugin-linux-amd64
                 └─35192 plugins/github/server/dist/plugin-linux-amd64

    You have configured Mattermost to run on your server and use your Vultr Managed Database for PostgreSQL. Configure your web server to serve Mattermost using your domain to securely access the application.

Set Up Nginx as a Reverse Proxy to Access Mattermost

Mattermost listens for incoming connections on the host port 8065 by default and securely accepts simultaneous connection requests through a reverse proxy such as Nginx. Follow the steps below to install the Nginx and configure it as a reverse proxy to securely forward all connection requests to Mattermost.

  1. Update the server package index.

    console
    $ sudo apt update
    
  2. Install Nginx.

    console
    $ sudo apt install nginx -y
    
  3. Disable the default Nginx configuration to avoid conflicts on the HTTP port 80.

    console
    $ sudo rm /etc/nginx/sites-enabled/default
    
  4. Create a new Nginx configuration file to use with Mattermost. For example, mattermost.example.conf.

    console
    $ sudo nano /etc/nginx/sites-available/mattermost.example.conf
    
  5. Add the following configurations to the file. Replace mattermost.example.com with your actual domain.

    nginx
    upstream mattermost {
       server 127.0.0.1:8065;
       keepalive 32;
    }
    
    server {
      listen 80 default_server;
      server_name   mattermost.example.com;
      return 301 https://$server_name$request_uri;
    }
    
    server {
       listen 443 ssl http2;
       listen [::]:443 ssl http2;
       server_name   mattermost.example.com;
    
       http2_push_preload on; # Enable HTTP/2 Server Push
    
       ssl_certificate /etc/letsencrypt/live/mattermost.example.com/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/mattermost.example.com/privkey.pem;
       ssl_session_timeout 1d;
    
       ssl_protocols TLSv1.2 TLSv1.3;
    
       ssl_early_data on;
    
       ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
       ssl_prefer_server_ciphers on;
       ssl_session_cache shared:SSL:50m;
       add_header Strict-Transport-Security max-age=15768000;
       ssl_stapling on;
       ssl_stapling_verify on;
    
       add_header X-Early-Data $tls1_3_early_data;
    
       location ~ /api/v[0-9]+/(users/)?websocket$ {
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           client_max_body_size 50M;
           proxy_set_header Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Frame-Options SAMEORIGIN;
           proxy_buffers 256 16k;
           proxy_buffer_size 16k;
           client_body_timeout 60s;
           send_timeout 300s;
           lingering_timeout 5s;
           proxy_connect_timeout 90s;
           proxy_send_timeout 300s;
           proxy_read_timeout 90s;
           proxy_http_version 1.1;
           proxy_pass http://mattermost;
       }
    
       location / {
           client_max_body_size 100M;
           proxy_set_header Connection "";
           proxy_set_header Host $http_host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_set_header X-Forwarded-Proto $scheme;
           proxy_set_header X-Frame-Options SAMEORIGIN;
           proxy_buffers 256 16k;
           proxy_buffer_size 16k;
           proxy_read_timeout 600s;
           proxy_http_version 1.1;
           proxy_pass http://mattermost;
       }
    }
    
    map $ssl_early_data $tls1_3_early_data {
      "~." $ssl_early_data;
      default "";
    }
    

    Save and close the file.

    The above configuration forwards all connection requests to the backend Mattermost application port 8065. In addition, all HTTP connections redirect to HTTPS with HTTP/2 support to secure connections on the Mattermost server.

  6. Link the configuration file to the /sites-enabled directory to enable it on your server.

    console
    $ sudo ln -s /etc/nginx/sites-available/mattermost.example.com /etc/nginx/sites-enabled/
    

    You have created a new Mattermost configuration to securely accept and forward connections on your server. Do not restart the Nginx web server until you generate SSL certificates that match your domain to avoid configuration errors.

Secure the Mattermost Server

The default Mattermost port 8065 is secure from direct connections on the server when using Nginx as a reverse proxy. Follow the steps below to allow connections to the HTTP and HTTPS ports on your server. Then, generate trusted Let’s Encrypt SSL certificates to secure all connections on your Mattermost server and validate your Nginx configuration.

  1. The Uncomplicated Firewall (UFW) is active and limits connections on your Ubuntu server by default. Allow the HTTP port 80 through the firewall to enable Let's Encrypt domain validations on your server.

    console
    $ sudo ufw allow 80 comment 'mattermost http'
    
  2. Allow the HTTPS port 443 to enable secure access to the Mattermost server.

    console
    $ sudo ufw allow 443 comment 'mattermost http'
    
  3. Restart UFW to apply changes.

    console
    $ sudo ufw reload
    
  4. View the firewall table to verify that the new connection rules are available.

    console
    $ sudo ufw status
    

    Output:

    Status: active
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW       Anywhere                  
    80                         ALLOW       Anywhere                   # mattermost http
    443                        ALLOW       Anywhere                   # mattermost http
    22/tcp (v6)                ALLOW       Anywhere (v6)             
    80 (v6)                    ALLOW       Anywhere (v6)              # mattermost http
    443 (v6)                   ALLOW       Anywhere (v6)              # mattermost http

Generate Let's Encrypt SSL Certificates to use with Mattermost

  1. Install the Certbot Let’s Encrypt plugin for Nginx.

    console
    $ sudo apt install python3-certbot-nginx -y
    
  2. Generate new SSL certificates using the certonly option to disable modifications to your Nginx configuration. Replace mattermost.example.com with your actual domain.

    console
    $ sudo certbot --standalone certonly -d mattermost.example.com --agree-tos
    

    Your output should be similar to the one below when the certificate request is successful.

    Obtaining a new certificate
    Performing the following challenges:
    http-01 challenge for mattermost.example.com
    Waiting for verification...
    Cleaning up challenges
  3. Test your Nginx configuration for errors.

    console
    $ sudo nginx -t
    

    Output:

    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
  4. Restart Nginx to apply your Mattermost configurations.

    console
    $ sudo systemctl restart nginx
    

Access Mattermost

  1. Access your Mattermost domain using a web browser such as Chrome.

    https://mattermost.example.com

    Verify that the Mattermost configuration interface displays in your web browser.

    The Mattermost Interface

  2. Click View in Browser to access the Mattermost account setup options.

  3. Enter your email address in the Email address field within the Create your account form.

  4. Enter your administrator username in the Choose a Username field. Then, enter a strong password to assign to the new user.

    Create a new Mattermost administrator

  5. Click Create Account to apply the new Mattermost administrator account on your server.

  6. Wait for the account creation process to complete and enter your workspace name in the Organization name field.

  7. Select the external tools to activate in your Mattermost workspace and click Continue to save changes. For example, select GitHub and Zoom to enable the tools on your server.

    Activate external tools to use with Mattermost

  8. Click Copy Link to copy and share your new Mattermost invite link with your target users.

  9. Click Finish setup to apply your configuration changes and redirect to the Mattermost application interface.

  10. Click Browse or Create Channels next to your Mattermost team name to set up a new channel.

    Create a new Mattermost Channel

  11. Select Create new channel from the list of options to create a new Mattermost channel on your server.

  12. Enter a new channel name and set your visibility options. For example, enter mynewteam and select Public Channel to allow all users in the Mattermost workspace to access the channel.

    Configure the Mattermost Channel

  13. Enter a new channel description and click Create channel to apply the new channel on your Mattermost server.

  14. Verify that the Mattermost channel is created and available on your Channels list.

  15. Enter a sample message in the new channel to verify that your Mattermost server works correctly. For example, enter Hello World! This is a new Mattermost server and press Enter to send the message.

  16. Verify that your new message is sent and available in the channel messages.

    Send a Mattermost Channel Message

  17. Expand the main Mattermost menu next to Channels on the top navigation bar to access the system configuration options.

  18. Select System Console from the list of options to open the administrator console. Alternatively, access the /admin_console path using your domain in a new browser tab.

    https://mattermost.example.com/admin_console

    Verify that the Mattermost administrator console displays in your browser and view the Mattermost edition and license version installed on your server.

    Access the Mattermost Administrator Console

  19. Find the USER MANAGEMENT section on your main navigation menu and click Users to access the list of Mattermost users in your workspace.

    Edit the Mattermost Users

  20. Verify the list of Mattermost users on your server and click the Actions menu to modify the user roles.

  21. Click Save to apply your new Mattermost user changes.

  22. Find the AUTHENTICATION section on the main navigation menu and click Signup to modify how users register on your Mattermost server.

  23. Enter a list of domain names separated by , in the Restrict new system and team members…. field to limit your Mattermost server to specific users. For example, enter example.com,example.net to only accept new user emails with your target domains to sign up on the server.

    Configure Mattermost User SignUp Options

  24. Set the Enable Open Server option to true to allow new users with email addresses that match your permitted domains to create accounts on your Mattermost server. Keep the option set to false to disable the signup page and strictly accept invitations on your server.

  25. Click Save to apply your Mattermost workspace configurations.

Enable Mattermost Email Notifications

Mattermost sends multiple emails to workspace users when an SMTP server is enabled. A Preview Mode: Email notifications have not been configured. alert displays in your Mattermost interface when email services are not enabled. Use an existing SMTP service such as Sendgrid or install a self-hosted send-only email server using applications such as Postfix. Follow the steps below to enable SMTP connections using Postfix on your server to securely send email notifications on the Mattermost server.

Warning
The SMTP port 25 is blocked on Vultr servers by default. Contact Vultr Support to enable the SMTP port 25 on your account.
  1. Update your server package index.

    console
    $ sudo apt update
    
  2. Set your server hostname to your Mattermost domain. For example, mattermost.example.com.

    console
    $ sudo hostnamectl set-hostname mattermost.example.com
    
  3. Install the Postfix mailutils package.

    console
    $ sudo apt install mailutils -y
    

    Select Internet Site and enter your domain mattermost.example.com as the system mail name when prompted.

  4. Back up the original Postfix configuration file.

    console
    $ sudo cp /etc/postfix/main.cf /etc/postfix/main.ORIG
    
  5. Open the Postfix configuration file.

    console
    $ sudo nano /etc/postfix/main.cf
    
  6. Find the following Postfix interfaces directive.

    ini
    inet_interfaces = all
    
    • Change the inet_interfaces value from all to loopback-only.
    ini
    inet_interfaces = loopback-only
    
    • Find the mydestination directive.
    ini
    mydestination = $myhostname, your_domain, localhost.com, , localhost
    
    • Replace the existing values with the following domain values.
    ini
    mydestination = localhost.$mydomain,localhost,$myhostname
    

    Save and close the file.

  7. Restart Postfix to apply your configuration changes.

    console
    $ sudo systemctl restart postfix
    
  8. Send a test email from your Postfix server to your active email address. For example, johndoe@example.com.

    console
    $ echo "The Mattermost SMTP Server is ready to use" | mail -s "Hello from the Mattermost Server" johndoe@example.com
    
  9. View your server logs and verify that the email is successfully sent to your email address.

    console
    $ sudo cat /var/log/syslog | tail -n 10
    

    Output:

    mattermost postfix/smtp[3869]: 0316A1FEBED: to=<johndoe@example.com>, relay=mail.example.com[192.0.2.200]:25, delay=2, delays=0/0/1/1, dsn=2.0.0, status=sent (250 OK id=1s99jD-005ocG-6w)
  10. Visit your email inbox and verify that a new email from server-username@your-mattermostdomain is available. Emails sent to domains such as gmail.com may bounce due to missing MX and SPF DNS records on your domain.

    Email from the Postfix Server

    You have installed and configured Postfix on your server to handle outgoing email communications on your server. Configure your domain with DNS records with new SPF and DKIM values to approve the authenticity of emails sent from your SMTP server.

Configure Mattermost to use the Postfix SMTP server

  1. Access the Mattermost administrator console.

    https://mattermost.example.com//admin_console
  2. Find the ENVIRONMENT section on the main navigation menu and click SMTP to modify your Mattermost email configurations.

    Access the Mattermost SMTP settings

  3. Keep localhost as the SMTP Server value.

  4. Replace the default value 10025 with 25 in the SMTP Server Port field.

  5. Set the Skip Server Certificate Verification option to true to disable verification of the Postfix email server certificate.

  6. Click Save to apply your SMTP configuration.

  7. Click Test Connection to validate your SMTP connection. Verify that a new message No errors were reported while sending an email. Please check your inbox to make sure. displays in your interface to confirm that Mattermost can send email notifications to all registered users.

    Test the Mattermost Email Settings

    You have configured email settings on your server. Mattermost can send multiple email notifications to all users depending on your workspace configurations. Modify your Mattermost email templates to create a standard format to send specific emails such as password resets, authentication, verifications, and channel notifications on your server.

Enable Vultr Object Storage as the Default Mattermost Storage

Mattermost stores files and image attachments to the /opt/mattermost/data directory. In addition, it supports S3-compatible storage such as Vultr Object Storage to store the files and image attachments on your remote storage instead of server storage. Follow the steps below to configure Mattermost to use Vultr Object Storage as the default file storage system.

  1. Access your Mattermost administrator console in your web browser.

    https://mattermost.example.com//admin_console
  2. Find the ENVIRONMENT category on the main navigation menu and click File Storage from the list of options.

  3. Click the File Storage System dropdown and select Amazon S3 .

    Set up the Mattermost file storage system

  4. Enter your Vultr Object Storage bucket name in the Amazon S3 Bucket field to use with Mattermost.

  5. Keep the Amazon S3 Path Prefix and Amazon S3 Region fields empty.

  6. Enter your Vultr Object Storage access key in the Amazon S3 Access Key ID field.

  7. Enter your Vultr Object Storage hostname in the Amazon S3 Endpoint field.

    Configure Mattermost to use Vultr Object Storage

  8. Enter your Vultr Object Storage secret key in the Amazon S3 Secret Access Key field.

  9. Keep the Enable Secure Amazon S3 Connections option set to true.

  10. Click Save to apply your Mattermost file storage configurations.

  11. Click Test Connection to validate your Vultr Object Storage credentials and verify that a Connection was successful message displays in your interface.

    Test the Mattermost S3 storage connection

    You have enabled Mattermost to use Vultr Object Storage as the default file storage system to store all workspace files and image attachments to your bucket instead of server storage.

    Send Mattermost Workspace images and files to object storage

Connect Client Applications to the Mattermost Server

Mattermost supports client applications on multiple device versions such as Android, desktop, and IOS. Follow the steps below to connect your client application to the Mattermost server.

  1. Download and install the official Mattermost application for your device from the official website. For example, Mattermost for Android.

  2. Open the Mattermost application on your device.

  3. Click Get Started within the application interface.

    Get Started with the Mattermost Application

  4. Enter your Mattermost server domain URL in the Server URL field.

  5. Enter a display name in the Server display name field to identify your Mattermost workspace on the device.

    Access a Mattermost Server

  6. Verify that a Server URL is valid. Server version: prompt appears below your workspace URL and click Connect to establish a connection to your server.

  7. Enter your workspace email and password to log in to the server.

    Login to the Mattermost Server

  8. To create a new user, click Don’t have an account to access the signup form and fill in all required fields to create a new account in your Mattermost workspace. When the process is successful, open your invite link in a new web browser tab and log in to your account to join a specific Mattermost channel.

  9. Verify that your Mattermost client application can access all enabled channels available on your server to start interacting with other teams.

    Test access to Mattermost channels

Conclusion

You have deployed Mattermost and secured your workspace with production environment configurations on a Ubuntu server. Mattermost is an efficient collaboration platform that lets you manage multiple teams using workspaces. As a result, by offloading critical server roles such as database and file storage to managed services such as Vultr Object Storage, your Mattermost server can process large amounts of user requests and traffic in your workspace. For more information, please visit the Mattermost documentation to find more options you can enable in your workspace.