Files
team/docs/main/administration-guide/configure/deprecated-configuration-settings.mdx
b5f007d35e docs: fix broken path links, anchors, and tab rendering from RST-to-MDX migration (#37433)
* docs: resolve cross-file anchor mismatches from RST-to-MDX migration

The Sphinx-to-Docusaurus migration converted `:ref:`/`{ref}` links using
naive text-slugification, so anchors that pointed to headings in a
different file (e.g. release-summary tables linking into their
respective changelog pages) were emitted as same-page fragments and
silently resolved to nothing.

Built a label registry from the original Sphinx `.. _label:` / `(label)=`
targets to recover the true source file for each cross-reference, then
rewrote the affected links to point at the correct file + heading
anchor. Fixes 282 broken cross-file anchors, primarily in the mobile/
desktop/server release-summary pages, plus assorted same-page anchor
mismatches caught by re-auditing after the prior admonition/anchor fix.

* docs: manually resolve remaining anchor mismatches after cross-file audit

Hand-verified fixes for anchors that fuzzy-matching alone couldn't
safely resolve (confirmed against actual heading text/context, and in a
few cases against the original RST source, before applying):

- Typos and dropped words carried over from the original Sphinx docs
  (e.g. "bot-acocunts", "auto-follow-all-new-channel-threads" ->
  "follow-all-new-channel-threads").
- Sphinx auto-generated duplicate-heading IDs (#id1/#id3/#id4) resolved
  to their real target headings.
- Numbered-step TOC links in enterprise-roll-out-checklist.mdx that
  dropped the leading "N. " used in the actual heading slugs.
- Push-notification docs pointing at the wrong file entirely
  (environment-configuration-settings instead of
  push-notification-server-configuration-settings).
- SAML "saml-enterprise" label resolved to its true cross-file target
  (authentication-configuration-settings#saml-2-0), recovered from the
  original RST label definition that the automated registry missed
  because it sat after an RST transition marker.
- sso-saml-technical references converted from broken same-page/
  malformed-path anchors to correct page links.

* docs: fix SAML 2.0 anchor slug (saml-2-0 -> saml-20)

github-slugger strips periods rather than hyphenating them, so "SAML
2.0" slugifies to saml-20, not saml-2-0 as previously fixed.

* docs: fix broken path links found during docs/main migration cleanup

* docs: convert div.tab blocks to Docusaurus Tabs/TabItem components

* docs: restore missing Kubernetes deployment architecture diagrams

The RST-to-MDX migration never copied over the AWS/Azure/Oracle
architecture diagrams referenced by the deployment-architecture-at-scale
page, leaving broken images in each Tabs/TabItem.

* docs: fix 7 anchor mismatches from the fragment/heading audit

Covers three root causes from the anchor mismatch breakdown:
- Fragment repeated the target page's own title instead of a real
  heading, so the link is simplified to point at the bare page.
- Heading exists verbatim but lives on a sibling settings page
  (experimental-configuration-settings, push-notification-server-
  configuration-settings) rather than environment-configuration-settings.
- A page path was mistakenly pasted into a same-page #fragment instead
  of being used as a real cross-page link.

* docs: fix 8 anchor slugs that were close but didn't match the real heading

Repoints links whose fragment was a plausible guess (typo, reworded
heading, or wrong section) at the actual auto-generated slug of the
target heading, confirmed by inspecting each target page directly.

* docs: merge split Tabs blocks so tabs render horizontally

The div.tab conversion script split some sibling tab groups into
separate single-item Tabs blocks whenever a stray blockquote marker
sat between them, causing them to render stacked instead of as one
horizontal tab bar. Merges the MySQL/PostgreSQL and Team/Enterprise
Edition tab groups back into single Tabs blocks.

* docs: remove Azure tab and restore Kubernetes deploy content

The Mattermost Operator, Azure, and Oracle platform tabs on the
Kubernetes deployment guide were split across two separate Tabs
blocks (rendering stacked instead of as one tab bar) and all three
tab bodies were empty because the migration never flattened the
original RST include directives. Removes the unsupported Azure tab
and restores the Mattermost Operator and Oracle content from the
pre-migration RST sources as a single merged Tabs block.

* addresscoderabbitreview

* docs: unify Linux/Kubernetes/Containers deploy pages and fix FIPS/STIG placement

Kubernetes and Containers duplicated full install content across a top-level
page (Tabs) and orphaned sidebar subpages that nothing linked to. Reworked
both to follow the Linux page's pattern: shared content on the landing page,
platform-specific instructions live once in their own subpage.

Also removed configure-fips-at-install-time.mdx, which claimed FIPS is
available for native Linux installs — FIPS/STIG in Mattermost is a container
image property (Chainguard-based build), not available outside Docker/
Kubernetes. Consolidated all FIPS/STIG references onto
containers/fips-stig.mdx and pointed the Mattermost Operator subpage (not
Oracle OKE, which doesn't expose image selection) at it.

* docs: fix review findings — image alt text, Important callout markup, typo

- Replace generic alt="image" on scaling diagrams with descriptive text
  identifying cloud provider and user scale.
- Convert raw div.important markup in deploy-containers.mdx to the
  repo's <Important> component, matching usage elsewhere in the file.
- Fix "Matermost" typo in manage-your-display-options.mdx.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-10 14:50:13 +03:00

1360 lines
48 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Deprecated configuration settings"
---
The following Mattermost configuration settings are deprecated and are no longer supported in current Mattermost releases:
- [Bleve settings](#bleve-settings)
- [Elasticsearch settings](#elasticsearch-settings)
- [Service settings](#service-settings)
- [Database settings](#database-settings)
- [Data retention settings](#data-retention-settings)
- [Users and teams settings](#users-and-teams-settings)
- [SAML 2.0 settings](#saml-20-settings)
- [Legacy sidebar settings](#legacy-sidebar-settings)
- [Town Square channel settings](#town-square-channel-settings)
- [Custom emoji settings](#custom-emoji-settings)
- [Timezone settings](#timezone-settings)
- [High availablity settings](#high-availability-settings)
- [Rest API V3 settings](#rest-api-v3-settings)
- [Integrations settings](#integrations-settings)
- [Permission policy settings](#permission-policy-settings)
- [Image settings](#image-settings)
- [Experimental display settings](#experimental-display-settings)
- [Experimental API endpoint settings](#experimental-api-endpoint-settings)
- [Shared channels settings](#shared-channels-settings)
- [User satisfaction survey plugin settings](#user-satisfaction-surveys-plugin-settings)
- [Other deprecated settings](#other-deprecated-settings)
------------------------------------------------------------------------------------------------------------------------
## Bleve settings
*Bleve search has been deprecated from Mattermost v11.0. We recommend using Elasticsearch or OpenSearch for enterprise search capabilities.*
### Enable Bleve indexing
*Deprecated from Mattermost v11.0*
This setting was available in the System Console by going to **Experimental \> Bleve**, or by editing the `config.json` file.
**True**: The indexing of new posts occurs automatically.
**False**: The indexing of new posts does not occur automatically.
<table style={{width: '91%'}}>
<colgroup>
<col style={{width: '90%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableIndexing": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Index directory
*Deprecated from Mattermost v11.0*
This setting was available in the System Console by going to **Experimental \> Bleve**, or by editing the `config.json` file.
Directory path to use for storing bleve indexes.
<table style={{width: '90%'}}>
<colgroup>
<col style={{width: '90%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"IndexDir": ""</code> with string input.</td>
</tr>
</tbody>
</table>
### 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
*Deprecated from Mattermost v11.0*
This setting was available in the System Console by going to **Experimental \> Bleve**, or by editing the `config.json` file.
**True**: Search queries will use bleve search.
**False**: Search queries will not use bleve search.
<table style={{width: '92%'}}>
<colgroup>
<col style={{width: '92%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableSearching": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Enable Bleve for autocomplete queries
*Deprecated from Mattermost v11.0*
This setting was available in the System Console by going to **Experimental \> Bleve**, or by editing the `config.json` file.
**True**: Autocomplete queries will use bleve search.
**False**: Autocomplete queries will not use bleve search.
<table style={{width: '95%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableAutocomplete": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Bulk Indexing Time Window Seconds
*Removed in May 16, 2022 release*
This setting isn't available in the System Console and can only be set in `config.json`.
Determines the maximum time window for a batch of posts being indexed by the Bulk Indexer. This setting serves as a performance optimization for installs with over ~10 million posts in the database. You can approximate this value based on the average number of seconds for 2,000 posts to be added to the database on a typical day in production. Setting this value too low will cause bulk indexing jobs to run slowly.
<table style={{width: '92%'}}>
<colgroup>
<col style={{width: '91%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"BulkIndexingTimeWindowSeconds": 3600</code> with numerical input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Elasticsearch settings
### Bulk Indexing Time Window
*Removed in May 16, 2022 release*
This setting isn't available in the System Console and can only be set in `config.json`.
Determines the maximum time window for a batch of posts being indexed by the Bulk Indexer. This setting serves as a performance optimization for installs with over ~10 million posts in the database. You can approximate this value based on the average number of seconds for 2,000 posts to be added to the database on a typical day in production. Setting this value too low will cause bulk indexing jobs to run slowly.
<table style={{width: '95%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"BulkIndexingTimeWindowSeconds": 3600</code> with numerical input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Service settings
### Enable reliable websockets
*This configuration setting has been deprecated, and the ability to buffer messages during a connection loss has been promoted to general availability from Mattermost v6.3. This setting is enabled for older clients to maintain backwards compatibility.*
This setting isn't available in the System Console and can only be set in `config.json`.
Enable this setting to make websocket messages more reliable by buffering messages during a connection loss and then re-transmitting all unsent messages when the connection is revived.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '98%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableReliableWebsockets": true</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Data prefetch
*Removed in February 16, 2021 release*
**True**: Messages in all unread channels are pre-loaded from the server whenever the client reconnects to the network to eliminate loading time when users switch to unread channels.
**False**: Messages are fetched on-demand from the server when users switch channels.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '98%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalDataPrefetch": true</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Segment write key
*Removed in March 16, 2017 release*
For deployments seeking additional tracking of system behavior using Segment.com, you can enter a Segment `WRITE_KEY` using this field. This value works like a tracking code and is used in client-side JavaScript and will send events to Segment.com attributed to the account you used to generate the `WRITE_KEY`.
<table style={{width: '78%'}}>
<colgroup>
<col style={{width: '77%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"SegmentDeveloperKey": ""</code> with string input.</td>
</tr>
</tbody>
</table>
### Limit access to config settings prior to login
*Removed in December 16, 2018 release*
Enable this setting to limit the number of config settings sent to users prior to login.
Supported for Mattermost server v5.1.0 and later, and Mattermost Mobile apps v1.10.0 and later.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalLimitClientConfig": "false"</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Disable legacy MFA API endpoint
Deprecated. Not used in Mattermost v6.0 and later.
------------------------------------------------------------------------------------------------------------------------
## Database settings
### At rest encrypt key
*Removed in August 23, 2018 release*
This setting isn't available in the System Console and can only be set in `config.json`. It's a legacy setting used to encrypt data stored at rest in the database, and no fields are encrypted using `AtRestEncryptKey`.
A 32-character key for encrypting and decrypting sensitive fields in the database. When using high availability, this value must be identical in each instance of Mattermost.
<table style={{width: '76%'}}>
<colgroup>
<col style={{width: '75%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"AtRestEncryptKey": ""</code> with string input.</td>
</tr>
</tbody>
</table>
### Amazon S3 bucket endpoint
*Removed in November 16th, 2016 release*
Set an endpoint URL for Amazon S3 buckets.
<table style={{width: '80%'}}>
<colgroup>
<col style={{width: '80%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"AmazonS3BucketEndpoint": ""</code> with string input.</td>
</tr>
</tbody>
</table>
### Amazon S3 Location Constraint
*Removed in November 16th, 2016 release*
**True**: S3 region is location constrained.
**False**: S3 region is not location constrained.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"AmazonS3LocationConstraint": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Amazon S3 lowercase bucket
*Removed in November 16th, 2016 release*
**True**: S3 bucket names are fully lowercase.
**False**: S3 bucket names may contain uppercase and lowercase letters.
<table style={{width: '98%'}}>
<colgroup>
<col style={{width: '98%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"AmazonS3LowercaseBucket": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Data retention settings
### MessageRetentionDays
*Deprecated in Mattermost v9.5 release in favor of MessageRetentionHours*
Set how long Mattermost keeps messages across all teams and channels. This setting doesn't apply to custom retention policies. The minimum time is 1 hour.
From Mattermost v9.5, this setting has been replaced by [MessageRetentionHours](/administration-guide/configure/compliance-configuration-settings#global-retention-policy-for-messages) which provides more granular control over message retention periods.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"MessageRetentionDays": 365</code> with numerical input.</td>
</tr>
</tbody>
</table>
### FileRetentionDays
*Deprecated in Mattermost v9.5 release in favor of FileRetentionHours*
Set how long Mattermost keeps files across all teams and channels. This setting doesn't apply to custom retention policies. The minimum time is 1 hour.
From Mattermost v9.5, this setting has been replaced by [FileRetentionHours](/administration-guide/configure/compliance-configuration-settings#global-retention-policy-for-files) which provides more granular control over file retention periods.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"FileRetentionDays": 365</code> with numerical input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Users and teams settings
### Enable team directory
*Removed in May 16th, 2016 release*
**True**: Teams that are configured to appear in the team directory will appear on the system main page. Teams can configure this setting from **Team Settings \> Include this team in the Team Directory**.
**False**: Team directory on the system main page is disabled.
<table style={{width: '93%'}}>
<colgroup>
<col style={{width: '93%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableTeamListing": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Allow team admins to edit others' posts
Deprecated. Not used in Mattermost v6.0 and later.
### Enable team creation
Deprecated. Not used in Mattermost v6.0 and later.
------------------------------------------------------------------------------------------------------------------------
## SAML 2.0 settings
### Use new SAML library
*Removed in December 16, 2020 release*
**True**: Enable an updated SAML Library, which does not require the XML Security Library (xmlsec1) to be installed.
**False**: Continue using the existing implementation which uses the XML Security Library (xmlsec1).
<table style={{width: '93%'}}>
<colgroup>
<col style={{width: '93%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"UseNewSAMLLibrary": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Legacy sidebar settings
### Enable legacy sidebar
Deprecated. Not used in Mattermost v6.0 and later.
### Experimental sidebar features
*Deprecated. Not used in Mattermost v5.32 and later*
<Note>
This experimental configuration setting has been deprecated, and the ability to organize channels in the sidebar has been promoted to general availability from Mattermost v5.32. See the [Organizing Your Sidebar documentation](/end-user-guide/preferences/customize-your-channel-sidebar) for details on customizing the sidebar.
</Note>
**Disabled**: Users cannot access the experimental channel sidebar feature set.
**Enabled (Default On)**: Enables the experimental sidebar features for all users on this server. Users can disable the features in **Settings \> Sidebar \> Experimental Sidebar Features**. Features include custom collapsible channel categories, drag and drop to reorganize channels, and unread filtering.
**Enabled (Default Off)**: Users must enable the experimental sidebar features in **Settings**.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalChannelSidebarOrganization": off</code> with options <code>off</code>, <code>default_on</code> and <code>default_off</code>.</td>
</tr>
</tbody>
</table>
### Sidebar organization
Deprecated. Not used in Mattermost v6.0 and later.
### Enable X to leave channels from left hand sidebar
Deprecated. Not used in Mattermost v6.0 and later.
### Autoclose direct messages in sidebar
Deprecated. Not used in Mattermost v6.0 and later.
------------------------------------------------------------------------------------------------------------------------
## Town Square channel settings
### Town Square is hidden in left hand sidebar
Deprecated. Not used in Mattermost v6.0 and later.
### Town Square is read-only
From Mattermost v.6.0, this feature has been deprecated in favor of [advanced access controls](/administration-guide/manage/team-channel-members#advanced-access-controls) which allows you to set any channel as read-only, including Town Square.
------------------------------------------------------------------------------------------------------------------------
## Custom emoji settings
### Restrict custom emoji creation
Deprecated. Not used in Mattermost v6.0 and later.
------------------------------------------------------------------------------------------------------------------------
## Timezone settings
### Timezone
*This configuration setting has been promoted to General Availability and is no longer configurable in Mattermost v6.0 and later.*
Select the timezone used for timestamps in the user interface and email notifications.
**True**: The **Timezone** setting is visible in the Settings and a timezone is automatically assigned in the next active session.
**False**: The **Timezone** setting is hidden in the Settings.
<table style={{width: '96%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalTimezone": true</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## High availability settings
### Inter-node listen address
*Deprecated. Not used in Mattermost v4.0 and later*
The address the Mattermost Server will listen on for inter-node communication. When setting up your network you should secure the listen address so that only machines in the cluster have access to that port. This can be done in different ways, for example, using IPsec, security groups, or routing tables.
<table style={{width: '85%'}}>
<colgroup>
<col style={{width: '85%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"InterNodeListenAddress": ":8075"</code> with string input.</td>
</tr>
</tbody>
</table>
### Inter-Node URLs
*Deprecated. Not used in Mattermost v4.0 and later*
A list of all the machines in the cluster, such as `["http://10.10.10.2", "http://10.10.10.4"]`. It is recommended to use the internal IP addresses so all the traffic can be secured.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"InterNodeUrls": []</code> with string array input consisting of the machines in the cluster.</td>
</tr>
</tbody>
</table>
### Use gossip
*Removed in Mattermost v6.0*
**True**: The server attempts to communicate via the gossip protocol over the gossip port specified.
**False**: The server attempts to communicate over the streaming port.
<table style={{width: '92%'}}>
<colgroup>
<col style={{width: '92%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature’s config.json setting is <code>"UseExperimentalGossip": true</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Streaming port
*Deprecated. Not used in Mattermost v6.0 and later*
The port used for streaming data between servers.
<table style={{width: '77%'}}>
<colgroup>
<col style={{width: '76%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"StreamingPort": ":8075"</code> with string input.</td>
</tr>
</tbody>
</table>
### Maximum idle connections for high availability
*Deprecated. Not used in Mattermost v7.0 and later*
<table>
<colgroup>
<col style={{width: '47%'}} />
<col style={{width: '52%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum number of idle connections held open from one server to all others in the cluster.</p>
<p>Numerical input. Default is <strong>100</strong>.</p></td>
<td><ul>
<li>System Config path: N/A</li>
<li><code>config.json</code> setting: <code>".ClusterSettings.MaxIdleConns: 100,</code></li>
<li>Environment variable: <code>MM_CLUSTERSETTINGS_MAXIDLECONNS</code></li>
</ul></td>
</tr>
</tbody>
</table>
### Maximum idle connections per host
*Deprecated. Not used in Mattermost v7.0 and later*
<table>
<colgroup>
<col style={{width: '45%'}} />
<col style={{width: '54%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The maximum number of idle connections held open from one server to another server in the cluster.</p>
<p>Numerical input. Default is <strong>128</strong>.</p></td>
<td><ul>
<li>System Config path: N/A</li>
<li><code>config.json</code> setting: <code>".ClusterSettings.MaxIdleConnsPerHost: 128",</code></li>
<li>Environment variable: <code>MM_CLUSTERSETTINGS_MAXIDLECONNSPERHOST</code></li>
</ul></td>
</tr>
</tbody>
</table>
### Idle connection timeout
*Deprecated. Not used in Mattermost v7.0 and later*
<table>
<colgroup>
<col style={{width: '42%'}} />
<col style={{width: '57%'}} />
</colgroup>
<tbody>
<tr>
<td><p>The amount of time, in milliseconds, to leave an idle connection open between servers in the cluster.</p>
<p>Numerical input. Default is <strong>90000</strong>.</p></td>
<td><ul>
<li>System Config path: N/A</li>
<li><code>config.json</code> setting: <code>".ClusterSettings.IdleConnTimeoutMilliseconds: 90000",</code></li>
<li>Environment variable: <code>MM_CLUSTERSETTINGS_IDLECONNTIMEOUTMILLISECONDS</code></li>
</ul></td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## REST API V3 settings
### Allow use of API v3 endpoints
*Removed in June 16, 2018 release*
Set to `false` to disable all version 3 endpoints of the REST API. Integrations that rely on API v3 will fail and can then be identified for migration to API v4. API v3 is deprecated and will be removed in the near future. See [https://api.mattermost.com](https://api.mattermost.com) for details.
<table style={{width: '88%'}}>
<colgroup>
<col style={{width: '88%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableAPIv3": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Integrations settings
### Restrict managing integrations to Admins
Deprecated. Not used in Mattermost v6.0 and later.
### Patch React DOM used by plugins
*Deprecated. Not used in Mattermost v8.0 and later*
This setting enables the patching of the React DOM library when loading web app plugins so that the plugin uses the version matching the web app. This should only be needed temporarily after upgrading to Mattermost v7.7 for plugins that have not been updated yet. Changes to this setting require a server restart before taking effect.
See the [Important Upgrade Notes](/administration-guide/upgrade/important-upgrade-notes) for more information.
**True**: Web app plugins that package their own version of React DOM are patched to instead use the version of React DOM provided by the web app.
**False**: Web app plugins are loaded as normal.
<table style={{width: '96%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"PatchPluginsReactDOM": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Permission policy settings
*Removed in June 16, 2018 release*
<Note>
From Mattermost v5.0, these settings are found in the [Advanced Permissions](/administration-guide/onboard/advanced-permissions) page instead of configuration settings.
</Note>
### Enable sending team invites from
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Set policy on who can invite others to a team using the **Send Email Invite**, **Get Team Invite Link**, and **Add Members to Team** options on the product menu. If **Get Team Invite Link** is used to share a link, you can expire the invite code from **Team Settings \> Invite Code** after the desired users have joined the team. Options include:
**All team members**: Allows any team member to invite others using an email invitation, team invite link, or by adding members to the team directly.
**Team and System Admins**: Hides the email invitation, team invite link, and the add members to team buttons in the product menu from users who are not team admins or system admins.
**System Admins**: Hides the email invitation, team invite link, and add members to team buttons in the product menu from users who are not system admins.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictTeamInvite": "all"</code> with options <code>"all"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable public channel creation for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to create public channels.
**All team members**: Allow all team members to create public channels.
**Team Admins and System Admins**: Restrict creating public channels to team admins and system admins.
**System Admins**: Restrict creating public channels to system admins.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPublicChannelCreation": "all"</code> with options <code>"all"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable public channel renaming for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to rename and set the header or purpose for Public channels.
**All channel members**: Allow all channel members to rename Public channels.
**Channel Admins, Team Admins, and System Admins**: Restrict renaming public channels to channel admins, team admins, and system admins who are members of the channel.
**Team Admins and System Admins**: Restrict renaming public channels to Team Admins and system admins who are members of the channel.
**System Admins**: Restrict renaming public channels to system admins who are members of the channel.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPublicChannelManagement": "all"</code> with options <code>"all"</code>, <code>"channel_admin"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable public channel deletion for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to delete Public channels. Deleted channels can be recovered from the database using a [command line tool](/administration-guide/manage/command-line-tools).
**All channel members**: Allow all channel members to delete public channels.
**Channel Admins, Team Admins, and System Admins**: Restrict deleting public channels to channel admins, team admins, and system admins who are members of the channel.
**Team Admins and System Admins**: Restrict deleting public channels to team admins and system admins who are members of the channel.
**System Admins**: Restrict deleting public channels to system admins who are members of the channel.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPublicChannelDeletion": "all"</code> with options <code>"all"</code>, <code>"channel_admin"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable private channel creation for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to create private channels.
**All team members**: Allow all team members to create private channels.
**Team Admins and System Admins**: Restrict creating private channels to team admins and system admins.
**System Admins**: Restrict creating private channels to system admins.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPrivateChannelCreation": "all"</code> with options <code>"all"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable private channel renaming for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to rename and set the header or purpose for Private channels.
**All channel members**: Allow all channel members to rename private channels.
**Channel Admins, Team Admins, and System Admins**: Restrict renaming private channels to channel admins, team admins, and system admins who are members of the private channel.
**Team Admins and System Admins**: Restrict renaming private channels to team admins and system admins who are members of the private channel.
**System Admins**: Restrict renaming private channels to system admins who are members of the private channel.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPrivateChannelManagement": "all"</code> with options <code>"all"</code>, <code>"channel_admin"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable managing of private channel members for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Set policy on who can add and remove members from Private channels.
**All team members**: Allow all team members to add and remove members.
**Team Admins, Channel Admins, and System Admins**: Allow only team admins, channel admins, and system admins to add and remove members.
**Team Admins, and System Admins**: Allow only team admins and system admins to add and remove members.
**System Admins**: Allow only system admins to add and remove members.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPrivateChannelManageMembers": "all"</code> with options <code>"all"</code>, <code>"channel_admin"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Enable private channel deletion for
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to delete Private channels. Deleted channels can be recovered from the database using a [command line tool](/administration-guide/manage/command-line-tools).
**All channel members**: Allow all channel members to delete private channels.
**Channel Admins, Team Admins, and System Admins**: Restrict deleting private channels to channel admins, team admins, and system admins who are members of the Private channel.
**Team Admins and System Admins**: Restrict deleting private channels to Team Admins and system admins who are members of the Private channel.
**System Admins**: Restrict deleting private channels to system admins who are members of the private channel.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPrivateChannelDeletion": "all"</code> with options <code>"all"</code>, <code>"channel_admin"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Allow which users to delete messages
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Restrict the permission level required to delete messages. Team admins, channel admins, and system admins can delete messages only in channels where they are members. Messages can be deleted any time.
**Message authors can delete their own messages, and Administrators can delete any message**: Allow authors to delete their own messages, and allow team admins, channel admins, and system admins to delete any message.
**Team Admins and System Admins**: Allow only team admins and system admins to delete messages.
**System Admins**: Allow only system admins to delete messages.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"RestrictPostDelete": "all"</code> with options <code>"all"</code>, <code>"team_admin"</code>, and <code>"system_admin"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Allow users to edit their messages
*Removed in June 16, 2018 release*
<Note>
From v5.0 this has been replaced by advanced permissions which offers Admins a way to restrict actions in Mattermost to authorized users only. See the [Advanced Permissions documentation](/administration-guide/onboard/advanced-permissions) for more details.
</Note>
Set the time limit that users have to edit their messages after posting.
**Any time**: Allow users to edit their messages at any time after posting.
**Never**: Do not allow users to edit their messages.
**&#123;n&#125; seconds after posting**: Users can edit their messages within the specified time limit after posting. The time limit is applied using the `config.json` setting `PostEditTimeLimit` described below.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"AllowEditPost": "always"</code> with options <code>"always"</code>, <code>"never"</code>, and <code>"time_limit"</code> for the above settings, respectively.</td>
</tr>
</tbody>
</table>
### Post edit time limit
When post editing is permitted, setting this to `-1` allows editing any time, and setting this to a positive integer restricts editing time in seconds. If post editing is disabled, this setting does not apply.
**Note:** This setting does not affect plugins, shared channels, integration actions, or Mattermost products.
<table style={{width: '82%'}}>
<colgroup>
<col style={{width: '82%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"PostEditTimeLimit": -1</code> with numerical input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Image settings
### Attachment thumbnail width
*Removed in July 16th, 2017 release*
Width of thumbnails generated from uploaded images. Updating this value changes how thumbnail images render in future, but does not change images created in the past.
<table style={{width: '77%'}}>
<colgroup>
<col style={{width: '76%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ThumbnailWidth": 120</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Attachment thumbnail height
*Removed in July 16th, 2017 release*
Height of thumbnails generated from uploaded images. Updating this value changes how thumbnail images render in future, but does not change images created in the past.
<table style={{width: '78%'}}>
<colgroup>
<col style={{width: '77%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ThumbnailHeight": 100</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Image preview width
*Removed in July 16th, 2017 release*
Maximum width of preview image. Updating this value changes how preview images render in future, but does not change images created in the past.
<table style={{width: '76%'}}>
<colgroup>
<col style={{width: '75%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"PreviewWidth": 1024</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Image preview height
*Removed in July 16th, 2017 release*
Maximum height of preview image. Setting this value to `0` instructs Mattermost to auto-size the preview image height based on the source image aspect ratio and the preview image width. Updating this value changes how preview images render in future, but does not change images created in the past.
<table style={{width: '74%'}}>
<colgroup>
<col style={{width: '74%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"PreviewHeight": 0</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Profile picture width
*Removed in July 16th, 2017 release*
The width to which profile pictures are resized after being uploaded via **Account Settings \> Profile**.
<table style={{width: '75%'}}>
<colgroup>
<col style={{width: '75%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ProfileWidth": 128</code> with numerical input.</td>
</tr>
</tbody>
</table>
### Profile picture height
*Removed in July 16th, 2017 release*
The height to which profile pictures are resized after being uploaded via **Account Settings \> Profile**.
<table style={{width: '76%'}}>
<colgroup>
<col style={{width: '75%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ProfileHeight": 128</code> with numerical input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Experimental display settings
### Supported timezones path
*Removed in April 16, 2019 release*
Set the path of the JSON file that lists supported timezones when `ExperimentalTimezone` is set to `true`.
The file must be in the same directory as your `config.json` file if you set a relative path. Defaults to `timezones.json`.
<table style={{width: '95%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"SupportedTimezonesPath": "timezones.json"</code> with string input.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Shared channels settings
### Enable remote cluster service (Experimental)
Deprecated in November 16th, 2024 release in favor of [Connected Workspaces](/administration-guide/configure/site-configuration-settings#enable-connected-workspaces) configuration settings
This setting isn't available in the System Console and can only be set in `config.json`.
Enable this setting to add, remove, and view remote clusters for shared channels.
**True**: System admins can manage remote clusters using the System Console.
**False**: (**Default**) Remote cluster management is disabled.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalSettings.EnableRemoteClusters": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Enable shared channels (Experimental)
Deprecated in November 16th, 2024 release in favor of [Connected Workspaces](/administration-guide/configure/site-configuration-settings#enable-connected-workspaces) configuration settings
This setting isn't available in the System Console and can only be set in `config.json`.
Enable the ability to establish secure connections between Mattermost instances, and invite secured connections to shared channels where secure connections can participate as they would in any public and private channel.
**True**: System admins can establish secure connections between Mattermost instances.
**False**: (**Default**) The ability to establish secure connections is disabled.
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalSettings.EnableSharedChannels": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## User satisfaction surveys plugin settings
<Important>
This plugin is deprecated from Mattermost v10.11, and is no longer included as a pre-packaged plugin for new Mattermost deployments. For new installations, we strongly recommend using the [Mattermost User Survey integration](/administration-guide/configure/manage-user-surveys) instead.
</Important>
This plugin enables Mattermost to send user satisfaction surveys to gather feedback and improve product quality directly from your Mattermost users. Please refer to the [Mattermost Privacy Policy](https://mattermost.com/privacy-policy/) for more information on the collection and use of information received through Mattermost services.
Access the following configuration settings in the System Console by going to **Plugins \> User Satisfaction Surveys**.
### Enable plugin
<table>
<colgroup>
<col style={{width: '54%'}} />
<col style={{width: '45%'}} />
</colgroup>
<tbody>
<tr>
<td><ul>
<li><strong>true</strong>: (Default) Enables the Mattermost User Satisfaction Surveys plugin on your Mattermost workspace.</li>
<li><strong>false</strong>: Disables the Mattermost User Satisfaction Surveys plugin on your Mattermost workspace.</li>
</ul></td>
<td><ul>
<li>System Config path: <strong>Plugins &gt; User Satisfaction Surveys</strong></li>
<li><code>config.json</code> setting: <code>PluginSettings.PluginStates.com.mattermost.user-survey.Enable</code></li>
<li>Environment variable: N/A</li>
</ul></td>
</tr>
</tbody>
</table>
### Enable user satisfaction survey
<table>
<colgroup>
<col style={{width: '51%'}} />
<col style={{width: '48%'}} />
</colgroup>
<tbody>
<tr>
<td><ul>
<li><strong>true</strong>: A survey is sent to all users every quarter. Results are used by Mattermost, Inc. to improve the product.</li>
<li><strong>false</strong>: (Default) User satisfaction surveys are disabled.</li>
</ul></td>
<td><ul>
<li>System Config path: <strong>Plugins &gt; User Satisfaction Surveys</strong></li>
<li><code>config.json</code> setting: <code>PluginSettings.Plugins.com.mattermost.user-survey.systemconsolesetting.EnableSurvey</code></li>
<li>Environment variable: N/A</li>
</ul></td>
</tr>
<tr>
<td colspan="2"><strong>Note</strong>: See the <a href="https://mattermost.com/privacy-policy/">Mattermost Privacy Policy</a> for more information on the collection and use of information by Mattermost.</td>
</tr>
</tbody>
</table>
------------------------------------------------------------------------------------------------------------------------
## Other deprecated settings
### Disable Post Metadata
This setting isn't available in the System Console and can only be set in `config.json`.
**True**: Disabling post metadata is only recommended if you are experiencing a significant decrease in performance around channel and post load times.
**False**: Load channels with more accurate scroll positioning by loading post metadata.
<table style={{width: '95%'}}>
<colgroup>
<col style={{width: '95%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"DisablePostMetadata": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Enable AD/LDAP group sync
**True**: Enables AD/LDAP Group Sync configurable under **User Management \> Groups**.
**False**: Disables AD/LDAP Group Sync and removes **User Management \> Groups** from the System Console.
For more information on AD/LDAP Group Sync, please see the [AD/LDAP Group Sync documentation](/administration-guide/onboard/ad-ldap-groups-synchronization).
<table>
<colgroup>
<col style={{width: '100%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"ExperimentalLdapGroupSync": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Disable inactive server email notifications
This setting isn't available in the System Console and can only be set in `config.json`.
This configuration setting disables the ability to send inactivity email notifications to Mattermost System Admins.
<table style={{width: '97%'}}>
<colgroup>
<col style={{width: '96%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableInactivityEmail": true</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>
### Disable Apps Bar
This setting is enabled for all customers by default from Mattermost v8.0. This setting disables the Apps Bar and moves all Mattermost integration icons from the vertical pane on the far right back to the channel header.
### Enable OpenTracing (Experimental)
*Removed in March 16, 2025 release*
This setting isn't available in the System Console and can only be set in `config.json`.
**True**: A Jaeger client is instantiated and is used to trace each HTTP request as it goes through App and Store layers. Context is added to App and Store and is passed down the layer chain to create OpenTracing 'spans'.
By default, in order to avoid leaking sensitive information, no method parameters are reported to OpenTracing. Only the name of the method is reported.
**False**: OpenTracing is not enabled.
<table style={{width: '93%'}}>
<colgroup>
<col style={{width: '93%'}} />
</colgroup>
<tbody>
<tr>
<td>This feature's <code>config.json</code> setting is <code>"EnableOpenTracing": false</code> with options <code>true</code> and <code>false</code>.</td>
</tr>
</tbody>
</table>