Set up your development environment for building, running, and testing Mattermost.
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
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:
nvm install
If you don’t have it already, install libpng with your preferred package manager.
Clone the Mattermost source code from your fork:
git clone https://github.com/YOUR_GITHUB_USERNAME/mattermost-server.git
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.