You can configure Mattermost as a high availability environment by going to System Console > Environment > High Availability, or by editing the config.json
file as described in the following tables. Changes to configuration settings in this section require a server restart before taking effect.
In a Mattermost high availability cluster deployment, the System Console is set to read-only, and settings can only be changed by editing the config.json
file directly. However, to test a high availability environment, you can disable ClusterSettings.ReadOnlyConfig
in the config.json
file by setting it to false
. This allows changes applied using the System Console to be saved back to the configuration file.
Enable high availability mode
Available in legacy Enterprise Edition E20
You can enable high availability mode.
|
|
Cluster name
Available in legacy Enterprise Edition E20
The cluster to join by name in a high availability environment. Only nodes with the same cluster name will join together. This is to support blue-green deployments or staging pointing to the same database. |
|
Override hostname
Available in legacy Enterprise Edition E20
You can override the hostname of this server.
|
|
See the high availability cluster documentation for details. |
Use IP address
Available in legacy Enterprise Edition E20
You can configure your high availability environment to communicate using the hostname instead of the IP address.
|
|
Use gossip
Available in legacy Enterprise Edition E20
All cluster traffic uses the gossip protocol.
|
|
Notes:
|
Enable experimental gossip encryption
Available in legacy Enterprise Edition E20
Gossip encryption uses AES-256 by default, and this value isn’t configurable by design.
|
|
Note: Alternatively, you can manually set the |
Enable gossip compression
Available in legacy Enterprise Edition E20
We recommend that you disable this configuration setting for better performance.
|
|
Gossip port
Available in legacy Enterprise Edition E20
The port used for the gossip protocol. Both UDP and TCP should be allowed on this port. Numerical input. Default is 8074. |
|
Streaming port
Available in legacy Enterprise Edition E20
The port used for streaming data between servers. Numerical input. Default is 8075. |
|
Read only config
Available in legacy Enterprise Edition E20
|
|
Network interface
Available in legacy Enterprise Edition E20
An IP address used to identify the device that does automatic IP detection in high availability clusters. String input. |
|
Bind address
Available in legacy Enterprise Edition E20
An IP address used to bind cluster traffic to a specific network device. This setting is used primarily for servers with multiple network devices or different Bind Address and Advertise Address like in deployments that involve NAT (Network Address Translation). String input. |
|
Advertise address
Available in legacy Enterprise Edition E20
The IP address used to access the server from other nodes. This settings is used primary when cluster nodes are not in the same network and involve NAT (Network Address Translation). String input. |
|
Maximum idle connections for high availability
Available in legacy Enterprise Edition E20
The maximum number of idle connections held open from one server to all others in the cluster. Numerical input. Default is 100. |
|
Maximum idle connections per host
Available in legacy Enterprise Edition E20
The maximum number of idle connections held open from one server to another server in the cluster. Numerical input. Default is 128. |
|
Idle connection timeout
Available in legacy Enterprise Edition E20
The amount of time, in milliseconds, to leave an idle connection open between servers in the cluster. Numerical input. Default is 90000. |
|