Mattermost Documentation Scaling & Performance Monitoring

Clustering requires an Enterprise Edition licence from Mattermost, but once this is enabled, the application can be scaled to multiple pods simply by using Juju’s scale-application command. Mattermost will use the database to register and discover cluster members; no additional service or infrastructure is needed.

The charm can make use of the following extra services:

  • Storage for images and attachments. Mattermost defaults to local storage, but S3 is strongly recommended, especially when clustering is enabled. Mattermost proxies images and files, so the S3 bucket itself can be made private and locked down completely.
  • Push notifications. In our deployment these are sent via Mattermost’s HPNS (hosted push notification service). The charm also supports self-hosted push notification servers, but please note the caveats to doing so.

The charm supports some additional features that require an Enterprise Edition licence: clustering (as mentioned), a Prometheus exporter for performance monitoring, and user authentication via SAML.