In the February 2025 Mattermost release (and next ESR), the Mattermost server will stop supporting manual plugin deployment. Plugins are deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server’s working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles.
What is manual plugin deployment?
Plugins are deployed manually when an administrator takes a plugin.tar.gz
, decompresses and unpacks the files, and copies the content into the directory specified by the PluginSettings.Directory
configuration.
This means of deploying a plugin was common until 2019 when Mattermost introduced the ability to upload plugins via the System Console and install plugins via the Plugin Marketplace. Instead of manually deploying plugins into each server’s working directory, administrators using the System Console or Plugin Marketplace can write the plugin bundle to the filestore and allow the server to manage the deployment automatically, even with a high availability deployment.
How can I migrate my existing workflow?
First, consider retiring your workflow and installing your plugins via the System Console instead. Plugins uploaded via the System Console, via the REST API, or via the Plugin Marketplace are persisted to the shared filestore and deployed automatically to new and existing Mattermost instances in your cluster.
If you cannot retire your workflow, modify your deployment to copy the plugin.tar.gz
into the prepackaged_plugins/
directory on each server, and stop unpacking the plugin into the directory specified by PluginSettings.Directory
. The server will unpack the plugin from the prepackaged directory automatically.
Why is manual plugin deployment being deprecated?
Mattermost customers continue to rely on plugins for core features like Playbooks and Calls, as well as prepackaged and custom integrations with a wide variety of third-party tools. With support for the System console, REST API, the Marketplace, and prepackaged plugins, it has become challenging to trace how plugins might be deployed when the server starts. Further, this particular, legacy method of manually deploying plugins has been a compounding factor in diagnosing various customer escalations. Finally, customers who manually deploy plugins sometimes face issues when the extra deployment step fails.