← All guides
Mattermost
Mattermost is a self-hosted, Slack-style messaging platform for teams, with its official Docker Compose deployment intended for smaller, non-clustered installs.
This guide is synthesized from Mattermost's own official documentation, linked above — always cross-check exact package/version names there before running these commands on a production server, since distro and project versions move over time.
1Prerequisites
Mattermost's Docker deployment is officially supported on Linux only; Docker Engine and Docker Compose 1.28+ are required.
Mattermost's docs state this deployment method doesn't support clustering/HA out of the box — for large production deployments they recommend Kubernetes instead.
2Clone the official Docker repository
git clone https://github.com/mattermost/dockercd docker3Configure environment variables
Edit .env to set DOMAIN to your server's hostname and MM_SUPPORTSETTINGS_SUPPORTEMAIL to your support address.
cp env.example .env4Create and set permissions on the data volumes
mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}sudo chown -R 2000:2000 ./volumes/app/mattermost5Start Mattermost with the bundled NGINX proxy
docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -d6Log in and finish setup
Visit https://<your-domain>/ and create the first admin account through Mattermost's on-screen setup flow.