in Software Development

I was looking for a more effective way to improve team communication for a small team (< 50 people). The solution must cover Desktop app and Mobile app as well. And, of course at a very affordable cost. Slack is good but I wanted more. Mattermost came into the picture.

Mattermost published 3 plans on their website:-

  1. Team edition – $0
  2. Enterprise E10 – $39 / user / year
  3. Enterprise E20 – Got to contact them to find out more

Let’s go for the Team edition since I only have a small team now 🙂

The goal is to deploy Mattermost v5.1.0 with Ubuntu Docker v17.12.0-ce on DigitalOcean.

First, create droplet with Docker one-click app.

Then, SSH into the droplet.

# apt update
# apt upgrade
# shutdown -r now

It was quite straight-forward because the image bundled with Docker already.

# git clone
# cd mattermost-docker

Edit the docker-compose.yml and uncomment line 26 and 27 to enable Team edition.

And, I uncommented line 56 and 57 to enable SSL. Remember, security is very important!

# docker-compose build
# mkdir -pv ./volumes/app/mattermost/{data,logs,config}
# chown -R 2000:2000 ./volumes/app/mattermost/
# mkdir -pv ./volumes/web/cert
# chown -R 2000:2000 ./volumes/web/cert
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./volumes/web/cert/key-no-password.pem -out ./volumes/web/cert/cert.pem
# docker-compose up -d

* The openssl line above in the command is to generate self-signed certificate. Then, I let Cloudflare handle the rest for me.

Just go to the URL you configured that is pointing to your droplet then you should be able to see the following sign-up page

Click on the “Create Account” button then go to “System Console” page

  • SETTINGS” =>”GENERAL“=>”Configuration
    • Update “Site URL
    • Click on the “Save

Then, restart your Docker services

# docker-compose restart

Last but not least, Mattermost will prompt you to configure “Email Notifications“. I just make use of Gmail to make life simpler by referring here.

  • 2

Write a Comment


This site uses Akismet to reduce spam. Learn how your comment data is processed.