Deploy Mattermost on Docker¶
Important
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 production 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.
Production Docker Setup on Ubuntu¶
Install Docker using the Ubuntu online guide or these instructions:
sudo apt-get update sudo apt-get install wget wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker <username> sudo service docker start newgrp docker
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 "https://github.com/docker/compose/releases/download/$dockerComposeVersion/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Deploy the Mattermost Production Docker setup by running:
sudo apt-get install git git clone https://github.com/mattermost/mattermost-docker.git cd mattermost-docker docker-compose build mkdir -pv ./volumes/app/mattermost/{data,logs,config,plugins,client-plugins} sudo chown -R 2000:2000 ./volumes/app/mattermost/ docker-compose up -d
The docker-compose
network that is created defaults to 172.18.0.0/16. 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]
- Configure TLS by following the instructions.
- Configure Email by following the SMTP email setup guide.
- (Optional) To enable enterprise features under System Console > Edition and License upload your trial license or subscription license file received via email.
- Configure your Server based on the configuration settings documentation.
Additional Guides:
- Start, Stop, and Remove Containers using management instructions.
- Setup Database Backup following the database backup instructions.
Production Docker Setup on Arch Linux¶
To install on Arch Linux, see the installation guide on the Arch Linux wiki.
Production Docker Setup on macOS¶
You can run a production 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