Skip to content

mattermost/mattermost-plugin-calls

Mattermost Calls

calls_screen

Calls enables voice calling and screen sharing functionality in Mattermost channels.

Installation

  1. Download the latest version from the release page.
  2. Upload the file through System Console > Plugins > Plugin Management, or manually upload it to the Mattermost server under plugin directory.
  3. Configure and enable the plugin.

Requirements

This plugin demands some network configuration changes to allow audio/video communication between clients, such as opening network ports. Please refer to the documentation for more details.

Documentation

End-user documentation Calls self-hosted deployment Configuration settings

Development

Requirements

GoLang

Check go.mod for the required GoLang version.

Node.js

Check .nvmrc for the required Node.js version. It is recommended to use nvm for Node version management. Run nvm use in the project root to automatically switch to the required version.

Building

Use make deploy to build and deploy the plugin to your local Mattermost server. Set MM_SERVICESETTINGS_ENABLEDEVELOPER so the build automatically detects and targets your native OS and architecture:

MM_SERVICESETTINGS_ENABLEDEVELOPER=true make deploy

Without this flag, the build only produces binaries for Linux, FreeBSD, and OpenBSD.

Note: If the upload fails with a file size error, increase the maximum file size in System Console → Environment → File Storage → Maximum File Size (e.g. 256 MB).

For more details on how to develop a plugin refer to the official documentation.

How to Release

Use make dist to build a release bundle.

To trigger a release, follow these steps:

  1. For Patch Release: Run the following command:

    make patch

    This will release a patch change.

  2. For Minor Release: Run the following command:

    make minor

    This will release a minor change.

  3. For Major Release: Run the following command:

    make major

    This will release a major change.

  4. For Patch Release Candidate (RC): Run the following command:

    make patch-rc

    This will release a patch release candidate.

  5. For Minor Release Candidate (RC): Run the following command:

    make minor-rc

    This will release a minor release candidate.

  6. For Major Release Candidate (RC): Run the following command:

    make major-rc

    This will release a major release candidate.

Load testing

Refer to the load-test client documentation for information on how to simulate and load-test calls.

Get involved

Please join the Developers: Calls channel to discuss any topic related to this project.

License

See LICENSE.txt and LICENSE.enterprise for license rights and limitations.