Image: Elnur/Shutterstock

Recently, I wrote how to deploy Mattermost in minutes with the TurnKey Linux distribution. Although that is a great way to spin up an instance of Mattermost, the version used by TurnKey Linux doesn’t include the latest features found in the platform. With the most recent release, Mattermost includes both kanban boards and Playbooks (repeatable actions for such things as employee onboarding and incident resolution). These two features elevate Mattermost above a simple communication/collaboration tool into the arena of project management.

SEE: Hiring kit: Project manager (TechRepublic Premium)

I want to show you how to quickly deploy this platform with the help of Docker. The purpose of this is to deploy a test environment so you can kick the tires of the latest features found in the Mattermost platform.

What you’ll need

You’ll need two things to make this work:

  • A server with an OS that supports Docker (I’ll be demonstrating on Ubuntu Server 20.04, on which I’ll also demonstrate how to install Docker as well).
  • A user account with sudo privileges.

The only variation you’ll have to make is how you go about installing Docker on your platform of choice.

With that said, let’s get to the deployment.

How to install Docker

Since we’re going the simplistic route, we’ll install the version of Docker found in the standard repositories. If this were a more complicated deployment, I’d suggest installing Docker CE. However, this is a fairly simple process, so we’ll stick with what’s easy.

Log into your Ubuntu Server and issue the command:

sudo apt-get install docker.io docker-compose -y

Once that installation completes, add your user to the docker group with:

sudo usermod -aG docker $USER

Next, make the system aware of the changes with the command:

newgrp docker

We’re ready for take-off.

How to deploy Mattermost with Docker

I’m going to demonstrate this deployment in two different ways. The first will be a simple method for testing purposes and the second will be deployed for production environments with persistent storage.

For the first method, you simply have to issue the command:

docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

Once the container deploys (it’ll take a few minutes), you can reach it via web browser at http://SERVER:8065 (Where SERVER is the IP address of your hosting server).

The second method will add a persistent volume (to house data). The first thing we must do is install git with:

sudo apt-get install git -y

Once that installation completes, clone the necessary source with:

git clone https://github.com/mattermost/docker

Change into the newly-created directory:

cd docker

Copy the environments file with:

cp env.example .env

Open the .env file for editing with:

nano .env

Edit the DOMAIN value to match the domain you’ll be using for the Mattermost server. Save and close the file.

Create the necessary directories and give them the needed permissions with:

mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
sudo chown -R 2000:2000 ./volumes/app/mattermost

Deploy Mattermost with:

sudo docker-compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d

Once the deployment is completed (it will take considerably longer than the previous method), you should be able to open your web browser to http://SERVER:8065 (where SERVER is the IP address of the hosting server).

Either way you deploy the container, when you open Mattermost in your browser, you should be greeted by the initial account creation window (Figure A).

Figure A

The initial setup window for our Mattermost deployment.
The initial setup window for our Mattermost deployment.

After creating your initial account, click Create Account and then you’ll be asked to name your organization (Figure B).

Figure B

Naming your Mattermost organization.
Naming your Mattermost organization.

In the next window, click Continue to confirm your server’s URL. After that you’ll be asked to select how you’ll be using Mattmost (communication/collaboration, project management, or workflows/automation). Next comes integrations, channel creation, and team invites. Once you’ve completed the onboarding wizard, you’ll find yourself on the Mattermost main window. If you click the menu button in the top left, you’ll see that this release includes Channels, Boards and Playbooks (Figure C).

Figure C

Our Mattermost deployment is complete.
Our Mattermost deployment is complete.

Congratulations, you’ve just deployed the latest preview version of Mattermost to get an idea of how their kanban boards and Playbooks work. This is a great way to test the environment to see if the newest version of Mattermost is what your company needs for communication and project management.

Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.