Deploy Mattermost on Docker


This unofficial guide is maintained by the Mattermost community and this deployment configuration is not yet officially supported by Mattermost, Inc. Community testing, feedback, and improvements are welcome and greatly appreciated. You can edit this page on GitHub.

Deploy Mattermost using a multi-node configuration with Docker Compose. Experience with Docker Compose is recommended.

For a single-node preview of Mattermost (without email) see Local Machine Setup using Docker.

If you have any problems installing, see the troubleshooting guide. To submit an improvement or correction, click Edit at the top of this page.

Docker Setup on Ubuntu

  1. Install Docker using the Ubuntu online guide or these instructions:

    sudo apt-get update
    sudo apt-get install wget
    wget -qO- | sh
    sudo usermod -aG docker <username>
    sudo service docker start
    newgrp docker
  2. Install Docker Compose using the online guide. You have to download the latest release from the Docker Compose Github page and put the binary on your /usr/local/bin folder. Usually, you can use the following command, replacing $dockerComposeVersion with the Docker Compose version to install:

    sudo curl -L "$dockerComposeVersion/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  3. Deploy the Mattermost Docker

You can get the uid (user ID) and gid (group ID) of the Docker user by running:

id <username>

Replace <username> with the actual username. The following setup assumes the result above is uid=1000 and gid=1000.

Set up using:

sudo apt-get install git
git clone
cd mattermost-docker
docker-compose build
mkdir -pv ./volumes/app/mattermost/{data,logs,config,plugins,client-plugins}
sudo chown -R 1000:1000 ./volumes/app/mattermost/
docker-compose up -d

The docker-compose network that is created defaults to If you need to change the default network this link provides guidelines on how to do that. If the network is already set up with the default, you need to run the following command to remove it. Then, run the command again to regenerate the default network to include the new network setting.

docker network rm mattermost-server_mm-test

To verify the current Docker network use the following command to list it (you can access information about the options here):

docker network ls [OPTIONS]
  1. Configure TLS by following the instructions.

  2. Configure Email by following the SMTP email setup guide.

  3. (Optional) To enable enterprise features, go to System Console > Edition and License and select Start trial.

  4. Configure your Server based on the configuration settings documentation.

Once you’ve saved your configurations, start an Enterprise E20 trial via Main Menu > System Console > Edition and License > Start trial.

Additional guides:

Docker Setup on Arch Linux

To install on Arch Linux, see the installation guide on the Arch Linux wiki.

Docker Setup on macOS

You can run a deployment on macOS by installing Docker Compose using the online guide then following the above instructions.

Other Options

To install Mattermost Team Edition instead of Mattermost Enterprise Edition, open docker-compose.yaml and uncomment the following lines:

# args:
#   - edition=team