Set up your development environment for building, running, and testing Mattermost.
wsl --install
Install make
.
build essential
tools which will also take care of installing the make
:sudo apt install build-essential
Install Docker.
Install Go.
Increase the number of available file descriptors. Update your shell’s initialization script (e.g. .bashrc
or .zshrc
), and add the following:
ulimit -n 8096
If you don’t have it already, install libpng with your preferred package manager.
If you are on ARM based Mac, you’ll need to install Rosetta to make libpng
work. Rosetta can be installed by the following command-
softwareupdate --install-rosetta
Clone the Mattermost source code from your fork:
git clone https://github.com/YOUR_GITHUB_USERNAME/mattermost.git
Install NVM and use it to install the required version of Node.js:
First, install NVM by following these instructions.
Then, use NVM to install the correct version of Node.js for the Mattermost web app (this should be run within the webapp
directory):
nvm install
Start the server:
cd server
make run-server
Test your environment:
curl http://localhost:8065/api/v4/system/ping
If successful, the curl
step will return a JSON object:
{"AndroidLatestVersion":"","AndroidMinVersion":"","DesktopLatestVersion":"","DesktopMinVersion":"","IosLatestVersion":"","IosMinVersion":"","status":"OK"}
Run the webapp and watch:
make run
Stop the server:
make stop-server
The stop-server
make target does not stop all the docker containers started by run-server
. To stop the running docker containers:
make stop-docker
Set your options:
Some behaviors can be customized such as running the server in the foreground as described in the config.mk
file in the server directory. See that file for details.
Did you find what you were looking for?