Edit on GitHub

Mattermost developer setup

Once you have your server and webapp set up, you can start developing on plugins.

For developing on Mattermost-managed plugins, each plugin’s setup instructions can be found in the plugin repository’s README. Some plugins do not have external dependencies and require little to no setup, like the Todo Plugin while others require an external service to be set up, like the Jira Plugin and GitHub Plugin.

Set up your environment to deploy plugins 

Deploy with local mode 

If your Mattermost server is running locally, you can enable local mode and plugin uploads to streamline deploying your plugin. Edit your server configuration as follows:

    "ServiceSettings": {
        // ...
        "EnableLocalMode": true,
        "LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"
    "PluginSettings": {
        // ...
        "Enable": true,
        "EnableUploads": true

and then deploy your plugin:

make deploy

You may also customize the Unix socket path:

export MM_LOCALSOCKETPATH=/var/tmp/alternate_local.socket
make deploy

Deploy with authentication credentials 

Alternatively, you can authenticate with the server’s API with credentials:

export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_USERNAME=admin
export MM_ADMIN_PASSWORD=password
make deploy

or with a personal access token:

export MM_SERVICESETTINGS_SITEURL=http://localhost:8065
export MM_ADMIN_TOKEN=j44acwd8obn78cdcx7koid4jkr
make deploy

Did you find what you were looking for?

Thank you! We appreciate your feedback.

Tell us more

Your feedback helps us improve the Mattermost developer documentation.

Have a feature request? Share it here.

Having issues? Join our Community server.