Experimental configuration settings¶
Available on all plans
Cloud and self-hosted deployments
Review and manage the following experimental configuration options in the System Console by selecting the Product menu, selecting System Console, and then selecting Experimental > Features:
Tip
System admins managing a self-hosted Mattermost deployment can edit the config.json
file as described in the following tables. Each configuration value below includes a JSON path to access the value programmatically in the config.json
file using a JSON-aware tool. For example, one LoginButtonColor
value is under LdapSettings
.
If using a tool such as jq, you’d enter:
cat config/config.json | jq '.LdapSettings.LoginButtonColor'
When working with the
config.json
file manually, look for an object such asLdapSettings
, then within that object, find the keyLoginButtonColor
.
Experimental System Console configuration settings¶
Change authentication method¶
Note
Available only on Enterprise and Professional plans
This setting controls whether users can change their authentication method to any method that is enabled on the server.
|
|
Link metadata timeout¶
Adds a configurable timeout for requests made to return link metadata. If the metadata is not returned before this timeout expires, the message will be posted without requiring metadata. This timeout covers the failure cases of broken URLs and bad content types on slow network connections. Numerical input. Default is 5000 milliseconds. |
|
Email batching buffer size¶
Specify the maximum number of notifications batched into a single email. Numerical input. Default is 256 notifications. |
|
Note
We recommend increasing the buffer size from the default value if you see the following error in the Mattermost logs:
Email batching job's receiving buffer was full. Please increase the EmailBatchingBufferSize. Falling back to sending immediate mail.
Increasing this value will ensure emails are queued up, without impacting server performance.Notifications will be sent instantly if the queue of emails exceeds the email batching interval value configured.
Email batching interval¶
Specify the maximum frequency, in seconds, in which the batching job checks for new notifications. Numerical input. Default is 30 seconds. |
|
Note
We recommend decreasing the email batching interval from the default value if you see the following error in the Mattermost logs:
Email batching job's receiving buffer was full. Please increase the EmailBatchingBufferSize. Falling back to sending immediate mail.
.Longer batching intervals may increase performance.
Notifications will be sent instantly if the queue of emails exceeds the email batching interval configured.
Enable account deactivation¶
This setting controls whether users can deactivate their own accounts from the Account Settings menu.
|
|
Enable automatic replies¶
This setting controls whether users can set up automatic replies to direct messages.
|
|
Enable channel viewed websocket messages¶
This setting determines whether
|
|
Note
Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas:
Reduced Database Load: When channel_viewed events are disabled, the server no longer needs to log these events in the database. This reduces the number of write and update operations, which can be substantial in a busy server with many users frequently switching channels.
Decreased Network Traffic: Disabling these events means there are fewer messages sent between the server and clients. This reduction in network traffic can lower latency and improve the overall responsiveness of the server, especially for users with slower connections.
Lower Server CPU Usage: Processing channel_viewed events requires CPU resources to handle database transactions and network communication. Without these events, the server’s CPU can be utilized more efficiently for other tasks, improving the overall performance.
Improved User Experience: With reduced server load and network traffic, users may experience faster loading times and a more fluid interaction with the application.
However, disabling this configuration setting affects some functionality, such as accurate tracking of read and unread messages in channels. It’s important to balance performance improvements with the needs of your organization and users.
Enable default channel leave/join system messages¶
This setting determines whether team leave/join system messages are posted in the default
|
|
Enable hardened mode¶
This setting enables or disables hardened mode, which makes user experience trade-offs in the interest of security.
|
|
Changes made when hardened mode is enabled:
Failed login returns a generic error message instead of a specific message for username and password.
When multi-factor authentication (MFA) is enabled, the route to check if a user has MFA enabled always returns true. This causes the MFA input screen to appear even if the user does not have MFA enabled. The user may enter any value to pass the screen. Note that hardened mode does not affect user experience when MFA is enforced.
Password reset does not inform the user that they can not reset their SSO account through Mattermost and instead claims to have sent the password reset email.
Mattermost sanitizes all 500 errors before returned to the client. Use the supplied
request_id
to match user facing errors with the server logs.Standard users authenticated via username and password can’t use post props reserved for integrations, such as
override_username
oroverride_icon_url
.
Enable theme selection¶
Note
Available only on Enterprise and Professional plans
This setting controls whether users can select different themes for their Mattermost interface.
|
|
Allow custom themes¶
Note
Available only on Enterprise and Professional plans
This setting controls whether users can create and use custom themes beyond the default theme options.
|
|
Default theme¶
Note
Available only on Enterprise and Professional plans
Set a default theme that applies to all new users on the system. Options include |
|
Enable tutorial¶
This setting controls whether new users are shown a tutorial when they first open Mattermost.
|
|
Enable onboarding flow¶
This setting controls whether new users are shown onboarding tasks when they first use Mattermost.
|
|
Enable user typing messages¶
This setting determines whether “user is typing…” messages are displayed below the message box when using Mattermost in a web browser or the desktop app.
|
|
Note
Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas:
Reduced Server Load: Typing events generate additional websocket traffic. Disabling them can reduce the amount of data that needs to be handled by the server, improving the overall response time and decreasing server load.
Lower Network Traffic: When typing events are enabled, every keystroke generates a network event. This can lead to a significant amount of network traffic, particularly in busy channels. Disabling these events reduces the amount of information transmitted over the network.
Client Performance: On the client side, processing typing events requires resources. By not having to handle these events, the client can be more responsive and use less memory and CPU.
User typing timeout¶
This setting defines how frequently “user is typing…” messages are updated, measured in milliseconds. Numerical input. Default is 5000 milliseconds. |
|
User’s status and profile fetching poll interval¶
This setting configures the number of milliseconds to wait between fetching user statuses and profiles periodically. Set to 0 to disable. Numerical input. Default is 3000 milliseconds. Set to 0 to disable. |
|
Note
Decrease this configuration setting value to increase how often Mattermost checks for and retrieves updated user profile datails. Reducing this value can be particularly helpful to reduce the likelyhood of usernames being displayed in channels as Someone due to outdated or missing data.
Primary team¶
The primary team of which users on the server are members. When a primary team is set, the options to join other teams or leave the primary team are disabled. If the team URL of the primary team is String input. |
|
Use channel name in email notifications¶
This setting controls whether channel names are included in email notification subject lines.
|
|
User status away timeout¶
This setting defines the number of seconds after which the user’s status indicator changes to Away, when they are away from Mattermost. Numerical input. Default is 300 seconds. |
|
Disable data refetching on browser refocus¶
This setting disables re-fetching of channel and channel members on browser focus.
|
|
Disable wake up reconnect handler¶
This setting disables attempts to detect when the computer has woken up and refetch data.
|
|
Delay channel autocomplete¶
This setting controls whether or not the channel link autocomplete triggers immediately when after a
tilde is typed when composing a message. This setting makes the channel autocomplete, such as
|
|
YouTube referrer policy¶
This setting resolves issues where YouTube video previews display as unavailable.
|
|
Experimental Bleve configuration settings¶
Available on all plans
self-hosted deployments
Access the following configuration settings in the System Console by going to Experimental > Bleve, or by editing the config.json
file as described in the following tables:
Enable Bleve indexing¶
This setting controls whether Bleve indexing is enabled for posts to support search functionality.
|
|
Note
Search queries won’t use bleve search until the Enable Bleve for search queries setting is enabled.
Index directory¶
Directory path to use for storing bleve indexes. String input. |
|
Tip
The bleve index directory path isn’t required to exist within the mattermost
directory. When it exists outside of the mattermost
directory, no additional steps are needed to preserve or reindex these files as part of a Mattermost upgrade. See our Upgrading Mattermost Server documentation for details.
Bulk index now¶
Select Index Now to index all users, channels, and posts in the database from oldest to newest. Bleve is available during indexing, but search results may be incomplete until the indexing job is complete.
Purge indexes¶
Select Purge Index to remove the contents of the Bleve index directory. Search results may be incomplete until a bulk index of the existing database is rebuilt.
Enable Bleve for search queries¶
This setting controls whether Bleve search engine is used for search queries instead of the default database search.
|
|
Enable Bleve for autocomplete queries¶
This setting controls whether Bleve search engine is used for autocomplete queries instead of the default database search.
|
|
Experimental audit logging configuration settings¶
Enable the following settings to output audit events in the System Console by going to Experimental > Features, or in the config.json
file.
Note
The ability to enable and configure audit logging is currently in Beta and requires the feature flag ExperimentalAuditSettingsSystemConsoleUI
to be set to true
.
Advanced logging¶
Available only on Enterprise plans
Available only for Cloud deployments
Output log and audit records to any combination of console, local file, syslog, and TCP socket targets for a Mattermost Cloud deployment. See the advanced logging documentation for details about logging options.
Enable audit logging¶
Available on Enterprise plans
Cloud and self-hosted deployments
When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. You can specify these settings independently for audit events and AD/LDAP events.
|
|
File name¶
Available on Enterprise plans
self-hosted deployments
Specify the path to the audit file for a self-hosted deployment. String input consisting of a user-defined path (e.g. |
|
Max file size¶
Available on Enterprise plans
self-hosted deployments
This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. Numerical input. Default is 100 MB. |
|
Max file age¶
Available on Enterprise plans
self-hosted deployments
This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. Numerical input. Default is 0 days (no limit). |
|
Maximum file backups¶
Available on Enterprise plans
self-hosted deployments
This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. Numerical input. Default is 0 (no limit). |
|
File compression¶
Available on Enterprise plans
self-hosted deployments
When
|
|
Maximum file queue¶
Available on Enterprise plans
self-hosted deployments
This setting determines how many audit records can be queued/buffered at any point in time when writing to a file for a self-hosted deployment. Numerical input. Default is 1000 records. |
|
Note
This setting can be left as default unless you are seeing audit write failures in the server log and need to adjust the value accordingly.
Certificate¶
Cloud Enterprise customers can upload and manage a certificate for audit logging encryption on Syslog or TCP logging targets. The ability to upload a certificate is only available when the feature flag ExperimentalAuditSettingsSystemConsoleUI
is enabled.
Upload the certificate PEM file in the System Console by going to System Console > Audit Log Settings > Certificate and selecting File/Remove Certificate. The certificate file can be stored in the filestore or stored locally on the filesystem.
Advanced logging¶
Available on Enterprise plans
self-hosted deployments
Output log and audit records to any combination of console, local file, syslog, and TCP socket targets for a Mattermost self-hosted deployment. See the advanced logging documentation for details about logging options.
Experimental configuration settings for self-hosted deployments only¶
Note
Available only for self-hosted deployments
Access the following self-hosted configuration settings by editing the config.json
file as described in the following tables. These configuration settings are not accessible through the System Console.
Tip
Each configuration value below includes a JSON path to access the value programmatically in the config.json
file using a JSON-aware tool. For example, the SiteURL
value is under ServiceSettings
.
If using a tool such as jq, you’d enter:
cat config/config.json | jq '.ServiceSettings.SiteURL'
When working with the
config.json
file manually, look for the keyServiceSettings
, then within that object, find the keySiteURL
.
Allowed themes¶
Note
Available only on Enterprise and Professional plans
Select the themes that can be chosen by users when String array input consisting of the options |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
File Location¶
Note
Available only on Enterprise plans
Set the file location of the compliance exports. By default, they are written to the String input. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Push notification buffer¶
Used to control the buffer of outstanding Push Notification messages to be sent. If the number of messages exceeds that number, then the request making the Push Notification will be blocked until there’s room. Numerical input. Default is 1000 notifications. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Restrict system admin¶
|
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
.The ability to restrict the system admin from viewing and modifying a subset of server configuration settings is currently in Beta.
Enable client-side certification¶
Note
Available only on Enterprise plans
This setting controls whether client-side certificate authentication is enabled for your Mattermost server.
|
|
Client-side certification login method¶
Note
Available only on Enterprise plans
This setting controls how client-side certificates are used for user authentication. Used in
combination with the
|
|
Export output directory¶
The directory where the exported files are stored. The path is relative to the FileSettings
directory. By default, exports are stored under ./data/export
.
The directory where the exported files are stored. The path is relative to the String input. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Export retention days¶
The number of days to retain the exported files before deleting them.
The number of days to retain the exported files before deleting them. Numerical input. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Maximum image resolution¶
Maximum image resolution size for message attachments in pixels.
Maximum image resolution size for message attachments in pixels. Numerical input. Default value is 33177600 pixels. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Maximum image decoder concurrency¶
Indicates how many images can be decoded concurrently at once. The default value of -1
configures Mattermost to automatically use the number of CPUs present.
Indicates how many images can be decoded concurrently at once. The default value of Numerical input. |
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
.This configuration setting affects the total memory consumption of the server. The maximum memory of a single image is dictated by
MaxImageResolution * 24 bytes
, where the default maximum image resolution value is 33MB.Therefore, a good rule of thumb to follow is that
33MB * MaxImageDecoderConcurrency * 24
should be less than the total memory for the server.For example, if you have a 4-core server, you should leave aside at least
33 * 4 * 24 = 3168MB
memory for image processing. Otherwise, adjust the MaxImageResolution configuration setting to adjust the amount of memory needed for image processing.
Initial font¶
Font used in auto-generated profile pics with colored backgrounds.
Font used in auto-generated profile pics with colored backgrounds. String input. Default value is luximbi.ttf. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Amazon S3 signature v2¶
This setting controls which AWS signature version is used for signing API calls to Amazon S3. By default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is required.
|
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
.For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html.
Amazon S3 path¶
The AmazonS3PathPrefix config setting specifies a subdirectory prefix within your S3 bucket where Mattermost stores files. Possible values: Any string representing a valid S3 path prefix (e.g., “subdir1/”, “mattermost-files/”, or empty). The setting validates that there’s no leading/trailing whitespace. String input. Default is empty string (“”). |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
GitLab scope¶
The GitLab scope experimental config setting controls OAuth scopes for GitLab authentication. Possible values:
The setting becomes “experimental” when it contains “openid”, which enables OpenID Connect functionality with GitLab instead of standard OAuth 2.0. String input. Default is empty string (“”). |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Global relay SMTP server timeout¶
Note
Available only on Enterprise plans
The number of seconds that can elapse before the connection attempt to the SMTP server is abandoned. Numerical input. Default is 1800 seconds. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Google scope¶
Note
Available only on Enterprise and Professional plans
Standard setting for OAuth to determine the scope of
information shared with OAuth client. Recommended
setting is String input. Default is profile email. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Import input directory¶
The directory where the imported files are stored.
The path is relative to the String input. Default is ./import. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Import retention days¶
The number of days to retain the imported files before deleting them. Numerical input. Default is 30 days. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Export from timestamp¶
Note
Available only on Enterprise plans
Set the Unix timestamp (seconds since epoch, UTC) to export data from. Numerical input. Default is 0. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Block profile rate¶
Value that controls the fraction of goroutine blocking events reported in the blocking profile. The profiler aims to sample an average of one blocking event per rate nanoseconds spent blocked. To include every blocking event in the profile, set the rate to Numerical input with options |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
. Changes to this setting require a server restart before taking effect.
Entra ID Scope¶
Note
Available only on Enterprise and Professional plans
Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended
setting is String input. Default is User.Read. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Enable plugin uploads¶
This setting controls whether system administrators can upload plugins through the System Console.
|
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Allow insecure download URL¶
This setting isn’t available in the System Console and can only be set in config.json
.
This setting controls whether plugins can be downloaded and installed from remote URLs.
|
|
Enable plugin health check¶
This setting isn’t available in the System Console and can only be set in config.json
.
|
|
Plugin directory¶
The location of the plugin files. If blank, they are stored in the String input. Default is ./plugins. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Client plugin directory¶
The location of client plugin files. If blank, they are stored in the String input. Default is ./client/plugins. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Scoping IDP provider ID¶
Note
Available only on Enterprise and Professional plans
Allows an authenticated user to skip the initial login page of their federated Azure AD server, and only require a password to log in. String input. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Scoping IDP provider name¶
Note
Available only on Enterprise and Professional plans
Adds the name associated with a user’s Scoping Identity Provider ID. String input. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Group unread channels¶
The ExperimentalGroupUnreadChannels config setting controls whether unread channels are grouped separately in the sidebar. Possible values:
This setting applies to the new sidebar only. You must disable the Enable Legacy Sidebar configuration setting to see and enable this functionality in the System Console. String input. Default is “disabled”. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Enable channel category sorting¶
From Mattermost v10.10, when this experimental feature is enabled, users can assign channels to new or existing channel categories when creating or renaming channels. This configuration setting applies only to cloud-based deployments.
True: Users can assign channels to new or existing channel categories when creating or renaming channels.
False: (Default) Disables the ability to automatically assign channels to new or existing channel categories.
This feature’s |
Strict CSRF token enforcement¶
This setting isn’t available in the System Console and can only be set in config.json
.
This setting controls whether additional CSRF (Cross-Site Request Forgery) protection tokens are used for enhanced security.
|
|
Developer flags¶
The DeveloperFlags config setting controls Content Security Policy (CSP) directives for debugging purposes. Possible values: Comma-separated key-value pairs in format key=value:
Only flags set to “true” are honored, and unrecognized flags generate warning logs. This configuration setting requires developer mode to be enabled. String input. Default is empty string (“”). |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Enable post search¶
|
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas:
Reduced Database Load: When post search is enabled, every search query adds additional load to the database. Disabling search reduces these queries, leading to better database performance and lower response times for other operations.
Lower Memory Usage: Search functionality often requires indexing of posts, which consumes memory. By disabling search, the memory required for maintaining these indexes is freed up for other uses, improving overall system performance.
Faster Write Operations: When post search is enabled, indexing has to be updated with every new post, edit, or deletion. Disabling search avoids this overhead, allowing for faster write operations.
Performance Consistency: Without the search feature, the application avoids potential performance bottlenecks and can maintain more consistent performance levels, especially under heavy usage scenarios with a high number of posts.
Simplified System Maintenance: Managing search indexes can be complex and resource-intensive. Disabling search simplifies this aspect of system maintenance, potentially reducing the risk of performance issues related to search index corruption or degradation.
However, the ability to search messages in Mattermost is a critical feature for many users, and disabling this feature will result in users seeing an error if they attempt to use the Mattermost Search box. It’s important to balance performance improvements with the needs of your organization and users.
Enable file search¶
|
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
.This experimental configuration setting enables users to search documents attached to messages by filename. To enable users to search documents by their content, you must also enable the
ExtractContent
configuration setting. See our Enable Document Search by Content documentation for details. Document content search is available in Mattermost Server from v5.35, with mobile support coming soon.Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas:
Less Data to Index: Indexing files in addition to messages adds to the amount of data that needs to be processed and stored in the search index.
Fewer Complex Queries: Searching through files can require more complex queries, which can be more resource-intensive and time-consuming as compared to searching through messages alone.
Lower IO Operations: Searching files can generate more input/output operations, impacting the overall disk performance, especially if the system handles a large volume of file uploads and searches.
However, the ability to search for files in Mattermost is a critical feature for many users, and disabling this feature will result in users seeing an error if they attempt to use the Mattermost Search box. It’s important to balance performance improvements with the needs of your organization and users.
Enable user status updates¶
|
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
.Turn status updates off to improve performance. When status updates are off, users appear online only for brief periods when posting a message, and only to members of the channel in which the message is posted.
Websocket secure port¶
(Optional) This setting defines the port on which the secured WebSocket is listening using the Numerical input. Default is 443. |
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
. Changes to this setting require a server restart before taking effect.This is a client only override that doesn’t affect the listening port of the server process which is controlled by the Web server listen address setting.
Websocket port¶
(Optional) This setting defines the port on which the unsecured WebSocket is listening using the Numerical input. Default is 80. |
|
Note
This setting isn’t available in the System Console and can only be set in
config.json
. Changes to this setting require a server restart before taking effect.This is a client only override that doesn’t affect the listening port of the server process which is controlled by the Web server listen address setting.
Enable local mode for mmctl¶
This setting isn’t available in the System Console and can only be set in config.json
.
This setting controls whether mmctl can connect to the server using local mode through a socket connection.
|
|
Tip
When trying to use local mode with mmctl, ensure you’re using the same user when running the server and mmctl, or clean up the socket file before switching to a new user. If you encounter an error like socket file "/var/tmp/mattermost_local.socket" doesn't exists, please check the server configuration for local mode
, this can be resolved by setting this configuration setting to true
.
Enable local mode socket location¶
The path for the socket that the server will create for mmctl to connect and communicate through local
mode. If the default value for this key is changed, you will need to point mmctl to the new socket
path when in local mode, using the If nothing is specified, the default path that both the server and mmctl assumes is
String input. Default is /var/tmp/mattermost_local.socket. |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Default channels¶
Default channels every user is added to automatically after joining a new team. Only applies to Public channels, but affects all teams on the server. When not set, every user is added to the String array input consisting of channel names, such as |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Even if town-square
isn’t listed, every user is added to that channels automatically when joining a new team.
Experimental job configuration settings¶
Available on all plans
self-hosted deployments
Settings to configure how Mattermost schedules and completes periodic tasks such as the deletion of old posts with Data Retention enabled or indexing posts with Elasticsearch. These settings control which Mattermost servers are designated as a Scheduler, a server that queues the tasks at the correct times, and as a Worker, a server that completes the given tasks.
When running Mattermost on a single machine, both RunJobs
and RunScheduler
should be enabled. Without both of these enabled, Mattermost will not function properly.
When running Mattermost in High Availability mode, RunJobs
should be enabled on one or more servers while RunScheduler
should be enabled on all servers under normal circumstances. A High Availability cluster-based deployment will have one Scheduler and one or more Workers. See the below sections for more information.
Run jobs¶
This setting isn’t available in the System Console and can only be set in config.json
.
Set whether or not this Mattermost server will handle tasks created by the Scheduler. When running Mattermost on a single machine, this setting should always be enabled.
When running Mattermost in High Availablity mode, one or more servers should have this setting enabled. We recommend that your High Availability cluster-based deployment has one or more dedicated Workers with this setting enabled while the remaining Mattermost app servers have it disabled.
|
|
Run scheduler¶
This setting isn’t available in the System Console and can only be set in config.json
.
Set whether or not this Mattermost server will schedule tasks that will be completed by a Worker. When running Mattermost on a single machine, this setting should always be enabled.
When running Mattermost in High Availablity mode, this setting should always be enabled. In a High Availability cluster-based deployment, exactly one of the servers will be designated as the Scheduler at a time to ensure that duplicate tasks aren’t created. See High Availability documentation for more details.
Warning
We strongly recommend that you not change this setting from the default setting of true as this prevents the ClusterLeader
from being able to run the scheduler. As a result, recurring jobs such as LDAP sync, Compliance Export, and data retention will no longer be scheduled. In previous Mattermost Server versions, and this documentation, the instructions stated to run the Job Server with RunScheduler: false
. The cluster design has evolved and this is no longer the case.
|
|
Clean up old database jobs¶
Defines the threshold in days beyond which older completed database jobs are removed. This setting is
disabled by default, and must be set to a value greater than or equal to Numerical input. Default is -1 (disabled). |
|
Note
This setting isn’t available in the System Console and can only be set in config.json
.
Clean up outdated database entries¶
Defines the threshold in days beyond which outdated configurations are removed from the database. Numerical input. Default is 30 days. |
|
Note
This setting only applies to configuration in the database. It isn’t available in the System Console and can be set via mmctl.