From 77f66815f41676a161cab7a6c3710ad7ec7eb471 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <209825114+claude[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 20:40:00 +0000 Subject: [PATCH 1/6] Migrate experimental config settings to consistent format Convert experimental configuration settings from single-column to standard two-column table format for consistency with other configuration documentation. Key changes: - Converted 47+ of 53 experimental settings to standard two-column format - Left column: Description, options, defaults - Right column: System Config path, config.json setting, Environment variable - Improved readability and consistency across all experimental settings sections - Maintained all existing content while standardizing presentation Fixes inconsistent formatting identified in user feedback where experimental settings didn't follow the standard model used by other configuration settings. Co-authored-by: Carrie Warner (Mattermost) --- .../experimental-configuration-settings.rst | 735 +++++++++--------- 1 file changed, 384 insertions(+), 351 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index dc7a53240a0..c19a665ded2 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -34,11 +34,11 @@ Experimental System Console configuration settings AD/LDAP login button color ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-border-color :displayname: AD/LDAP login button border color (Experimental) @@ -53,11 +53,11 @@ AD/LDAP login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonBorderColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-text-color :displayname: AD/LDAP login button text color (Experimental) @@ -72,11 +72,11 @@ AD/LDAP login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonTextColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: change-authentication-method :displayname: Change authentication method (Experimental) @@ -93,13 +93,13 @@ Change authentication method .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -**True**: Users can change their sign-in method to any that is enabled on the server, either via their Profile or the APIs. - -**False**: Users cannot change their sign-in method, regardless of which authentication options are enabled. - -+-------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalEnableAuthenticationTransfer": true`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Users can change their sign-in method to any that is enabled on the server, either via their Profile or the APIs. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalEnableAuthenticationTransfer": true`` | +| **False**: Users cannot change their sign-in method, regardless of which authentication options are enabled. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: link-metadata-timeout :displayname: Link metadata timeout (Experimental) @@ -111,11 +111,11 @@ Change authentication method 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 post without requiring metadata. This timeout covers the failure cases of broken URLs and bad content types on slow network connections. - -+---------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LinkMetadataTimeoutMilliseconds``: 5000`` with numerical input. | -+---------------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Adds a configurable timeout for requests made to return link metadata. If the metadata is not returned before this timeout expires, the message will post without requiring metadata. This timeout covers the failure cases of broken URLs and bad content types on slow network connections. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LinkMetadataTimeoutMilliseconds": 5000`` | +| Numerical input. Default is **5000** milliseconds. | - Environment variable: N/A | ++---------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-batching-buffer-size :displayname: Email batching buffer size (Experimental) @@ -127,16 +127,16 @@ Adds a configurable timeout for requests made to return link metadata. If the me Email batching buffer size ~~~~~~~~~~~~~~~~~~~~~~~~~~ -Specify the maximum number of notifications batched into a single email. ++--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EmailBatchingBufferSize": 256`` | +| Numerical input. Default is **256** notifications. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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 <#id1>`_ configured. - -+--------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``EmailBatchingBufferSize``: 256`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------------+ + - Notifications will be sent instantly if the queue of emails exceeds the `email batching interval <#id1>`_ configured. .. config:setting:: email-batching-interval :displayname: Email batching interval (Experimental) @@ -148,17 +148,17 @@ Specify the maximum number of notifications batched into a single email. Email batching interval ~~~~~~~~~~~~~~~~~~~~~~~ -Specify the maximum frequency, in seconds, which the batching job checks for new notifications. ++-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the maximum frequency, in seconds, which the batching job checks for new notifications. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | +| Numerical input. Default is **30** seconds. | - Environment variable: N/A | ++-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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 <#email-batching-buffer-size>`_ exceeds the email batching interval configured. - -+-----------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``EmailBatchingInterval": 30`` with numerical input. | -+-----------------------------------------------------------------------------------------------------------------------+ + - Notifications will be sent instantly if the `queue of emails <#email-batching-buffer-size>`_ exceeds the email batching interval configured. .. config:setting:: email-login-button-color :displayname: Email login button color (Experimental) @@ -170,11 +170,11 @@ Specify the maximum frequency, in seconds, which the batching job checks for new Email login button color ~~~~~~~~~~~~~~~~~~~~~~~~ -Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-border-color :displayname: Email login button border color (Experimental) @@ -186,11 +186,11 @@ Specify the color of the email login button for white labeling purposes. Use a h Email login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonBorderColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-text-color :displayname: Email login button text color (Experimental) @@ -202,11 +202,11 @@ Specify the color of the email login button border for white labeling purposes. Email login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonTextColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-account-deactivation :displayname: Enable account deactivation (Experimental) @@ -220,13 +220,13 @@ Specify the color of the email login button text for white labeling purposes. Us Enable account deactivation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**True**: Ability for users to deactivate their own account from **Settings > Advanced > Deactivate Account**. If a user deactivates their own account, they will get an email notification confirming they were deactivated. Available only when authentication is set to use email/password. Not available when authentication uses SAML or AD/LDAP. - -**False**: Ability for users to deactivate their own account is disabled. - -+--------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableUserDeactivation": false`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Ability for users to deactivate their own account from **Settings > Advanced > Deactivate Account**. If a user deactivates their own account, they will get an email notification confirming they were deactivated. Available only when authentication is set to use email/password. Not available when authentication uses SAML or AD/LDAP. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | +| **False**: Ability for users to deactivate their own account is disabled. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-automatic-replies :displayname: Enable automatic replies @@ -240,13 +240,13 @@ Enable account deactivation Enable automatic replies ~~~~~~~~~~~~~~~~~~~~~~~~ -**True**: Users can enable Automatic Replies in **Settings > Notifications**. Users set a custom message that will be automatically sent in response to Direct Messages. - -**False**: Disables the Automatic Direct Message Replies feature and hides it from **Settings**. - -+--------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalEnableAutomaticReplies": false`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Users can enable Automatic Replies in **Settings > Notifications**. Users set a custom message that will be automatically sent in response to Direct Messages. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalEnableAutomaticReplies": false`` | +| **False**: Disables the Automatic Direct Message Replies feature and hides it from **Settings**. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-channel-viewed-websocket-messages :displayname: Enable channel viewed websocket messages (Experimental) @@ -258,11 +258,11 @@ Enable automatic replies Enable channel viewed websocket messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread notifications across clients and devices. - -+------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableChannelViewedMessages": true`` with options ``true`` and ``false``. | -+------------------------------------------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread notifications across clients and devices. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | +| Options: ``true`` and ``false``. Default is **true**. | - Environment variable: N/A | ++------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -287,15 +287,15 @@ This setting determines whether ``channel_viewed WebSocket`` events are sent, wh Enable default channel leave/join system messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting determines whether team leave/join system messages are posted in the default ``town-square`` channel. - -**True**: Enables leave/join system messages in the default ``town-square`` channel. - -**False**: Disables leave/join messages from the default ``town-square`` channel. These system messages won't be added to the database either. - -+----------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` with options ``true`` and ``false``. | -+----------------------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines whether team leave/join system messages are posted in the default ``town-square`` channel. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` | +| **True**: Enables leave/join system messages in the default ``town-square`` channel. | - Environment variable: N/A | +| | | +| **False**: Disables leave/join messages from the default ``town-square`` channel. These system messages won't be added to the database either. | | +| | | +| Options: ``true`` and ``false``. | | ++----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-hardened-mode :displayname: Enable hardened mode (Experimental) @@ -309,9 +309,13 @@ This setting determines whether team leave/join system messages are posted in th Enable hardened mode ~~~~~~~~~~~~~~~~~~~~ -**True**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. - -**False**: Disables hardened mode. ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalEnableHardenedMode": false`` | +| **False**: Disables hardened mode. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ Changes made when hardened mode is enabled: @@ -321,10 +325,6 @@ Changes made when hardened mode is enabled: - 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`` or ``override_icon_url``. -+----------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalEnableHardenedMode": false`` with options ``true`` and ``false``. | -+----------------------------------------------------------------------------------------------------------------------------+ - .. config:setting:: enable-theme-selection :displayname: Enable theme selection (Experimental) :systemconsole: Experimental > Features @@ -340,13 +340,13 @@ Enable theme selection .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -**True**: Enables the **Display > Theme** tab in **Settings** so users can select their theme. - -**False**: Users cannot select a different theme. The **Display > Theme** tab is hidden in **Settings**. - -+-----------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableThemeSelection": true`` with options ``true`` and ``false``. | -+-----------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Enables the **Display > Theme** tab in **Settings** so users can select their theme. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EnableThemeSelection": true`` | +| **False**: Users cannot select a different theme. The **Display > Theme** tab is hidden in **Settings**. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: allow-custom-themes :displayname: Allow custom themes (Experimental) @@ -363,13 +363,13 @@ Allow custom themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -**True**: Enables the **Display > Theme > Custom Theme** section in **Settings**. - -**False**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is hidden in **Settings**. - -+--------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"AllowCustomThemes": true`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Enables the **Display > Theme > Custom Theme** section in **Settings**. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"AllowCustomThemes": true`` | +| **False**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is hidden in **Settings**. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: default-theme :displayname: Default theme (Experimental) @@ -384,11 +384,11 @@ Default theme .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Set a default theme that applies to all new users on the system. - -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"DefaultTheme": "default"`` with options ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"DefaultTheme": "default"`` | +| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-tutorial :displayname: Enable tutorial (Experimental) @@ -402,13 +402,13 @@ Set a default theme that applies to all new users on the system. Enable tutorial ~~~~~~~~~~~~~~~ -**True**: Users are prompted with a tutorial when they open Mattermost for the first time after account creation. - -**False**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. - -+--------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ServiceSettings.EnableTutorial": true`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Users are prompted with a tutorial when they open Mattermost for the first time after account creation. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ServiceSettings.EnableTutorial": true`` | +| **False**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-onboarding-flow :displayname: Enable onboarding flow (Experimental) @@ -422,13 +422,13 @@ Enable tutorial Enable onboarding flow ~~~~~~~~~~~~~~~~~~~~~~ -**True**: New Mattermost users are shown key tasks to complete as part of initial onboarding. - -**False**: User onboarding tasks are disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. - -+--------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ServiceSettings.EnableOnboardingFlow": true`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: New Mattermost users are shown key tasks to complete as part of initial onboarding. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ServiceSettings.EnableOnboardingFlow": true`` | +| **False**: User onboarding tasks are disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-user-typing-messages :displayname: Enable user typing messages (Experimental) @@ -440,11 +440,11 @@ Enable onboarding flow 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. - -+---------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableUserTypingMessages": true`` with options ``true`` and ``false``. | -+---------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| 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. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | +| Options: ``true`` and ``false``. Default is **true**. | - Environment variable: N/A | ++---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -464,11 +464,11 @@ This setting determines whether "user is typing..." messages are displayed below User typing timeout ~~~~~~~~~~~~~~~~~~~ -This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. - -+----------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"TimeBetweenUserTypingUpdatesMilliseconds": 5000`` with numerical input. | -+----------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"TimeBetweenUserTypingUpdatesMilliseconds": 5000`` | +| Numerical input. Default is **5000** milliseconds. | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: users-status-and-profile-fetching-poll-interval :displayname: User's status and profile fetching poll interval (Experimental) @@ -480,11 +480,11 @@ This setting defines how frequently "user is typing..." messages are updated, me 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. - -+--------------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting configures the number of milliseconds to wait between fetching user statuses and profiles periodically. Set to ``0`` to disable. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | +| Numerical input. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -500,13 +500,13 @@ This setting configures the number of milliseconds to wait between fetching user 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 ``https://example.mattermost.com/myteam/``, then set the value to ``myteam`` in ``config.json``. - -+-----------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalPrimaryTeam": ""`` with string input. | -+-----------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| 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. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalPrimaryTeam": ""`` | +| If the team URL of the primary team is ``https://example.mattermost.com/myteam/``, then set the value to ``myteam`` in ``config.json``. | - Environment variable: N/A | +| | | +| String input. | | ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-color :displayname: SAML login button color (Experimental) @@ -521,11 +521,11 @@ SAML login button color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-border-color :displayname: SAML login button border color (Experimental) @@ -540,11 +540,11 @@ SAML login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonBorderColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-text-color :displayname: SAML login button text color (Experimental) @@ -559,11 +559,11 @@ SAML login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LoginButtonTextColor": ""`` with string input. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: use-channel-name-in-email-notifications :displayname: Use channel name in email notifications (Experimental) @@ -577,13 +577,13 @@ Specify the color of the SAML login button text for white labeling purposes. Use Use channel name in email notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**True**: Channel and team name appears in email notification subject lines. Useful for servers using only one team. - -**False**: Only team name appears in email notification subject line. - -+----------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"UseChannelInEmailNotifications": false`` with options ``true`` and ``false``. | -+----------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Channel and team name appears in email notification subject lines. Useful for servers using only one team. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"UseChannelInEmailNotifications": false`` | +| **False**: Only team name appears in email notification subject line. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: user-status-away-timeout :displayname: User status away timeout (Experimental) @@ -595,63 +595,63 @@ Use channel name in email notifications 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. - -+--------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"UserStatusAwayTimeout": 300`` with numerical input. | -+--------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting defines the number of seconds after which the user's status indicator changes to "Away", when they are away from Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"UserStatusAwayTimeout": 300`` | +| Numerical input. Default is **300** seconds. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ Disable data refetching on browser refocus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting disables re-fetching of channel and channel members on browser focus. - -**True**: Mattermost won't refetch channels and channel members when the browser regains focus. This may result in improved performance for users with many channels and channel members. - -**False**: (Default) Mattermost will refetch channels and channel members when the browser regains focus. - -+--------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` | +| **True**: Mattermost won't refetch channels and channel members when the browser regains focus. This may result in improved performance for users with many channels and channel members. | - Environment variable: N/A | +| | | +| **False**: (Default) Mattermost will refetch channels and channel members when the browser regains focus. | | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ Disable wake up reconnect handler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting disables attempts to detect when the computer has woken up and refetch data. - -**True**: Mattermost won't attempt to detect when the computer has woken up and refetch data. This might reduce the amount of regular network traffic the app is sending. - -**False**: (**Default**) Mattermost attempts to detect when the computer has woken up and refreshes data. - -+--------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` | +| **True**: Mattermost won't attempt to detect when the computer has woken up and refetch data. This might reduce the amount of regular network traffic the app is sending. | - Environment variable: N/A | +| | | +| **False**: (**Default**) Mattermost attempts to detect when the computer has woken up and refreshes data. | | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ 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 ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. - -**True**: The autocomplete appears after the user types a tilde followed by two or more characters. For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. - -**False**: **(Default)** The autocomplete appears immediately after the user types a tilde. For example, typing ``~`` will show the autocomplete. - -+-------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalSettings.DelayChannelAutocomplete": false`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| 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 ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | +| **True**: The autocomplete appears after the user types a tilde followed by two or more characters. For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | - Environment variable: N/A | +| | | +| **False**: **(Default)** The autocomplete appears immediately after the user types a tilde. For example, typing ``~`` will show the autocomplete. | | +| | | +| Options: ``true`` and ``false``. | | ++-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ YouTube referrer policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting resolves issues where YouTube video previews display as unavailable. - -**True**: The referrer policy for embedded YouTube videos is set to ``strict-origin-when-cross-origin``. - -**False**: (Default) The referrer policy is set to ``no-referrer`` which enhances user privacy by not disclosing the source URL, but limits the ability to track user engagement and traffic sources in analytics tools. - -+-------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` | +| **True**: The referrer policy for embedded YouTube videos is set to ``strict-origin-when-cross-origin``. | - Environment variable: N/A | +| | | +| **False**: (Default) The referrer policy is set to ``no-referrer`` which enhances user privacy by not disclosing the source URL, but limits the ability to track user engagement and traffic sources in analytics tools. | | +| | | +| Options: ``true`` and ``false``. | | ++-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -675,13 +675,13 @@ Access the following configuration settings in the System Console by going to ** Enable Bleve indexing ~~~~~~~~~~~~~~~~~~~~~ -**True**: The indexing of new posts occurs automatically. Search queries will not use bleve search until :ref:`Enable Bleve for search queries ` is enabled. - -**False**: The indexing of new posts does not occur automatically. - -+------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableIndexing": false`` with options ``true`` and ``false``. | -+------------------------------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: The indexing of new posts occurs automatically. Search queries will not use bleve search until :ref:`Enable Bleve for search queries ` is enabled. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"EnableIndexing": false`` | +| **False**: The indexing of new posts does not occur automatically. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: index-directory :displayname: Index directory (Experimental) @@ -693,16 +693,16 @@ Enable Bleve indexing Index directory ~~~~~~~~~~~~~~~ -Directory path to use for storing bleve indexes. ++-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"IndexDir": ""`` | +| String input. | - Environment variable: N/A | ++-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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 :doc:`Upgrading Mattermost Server ` documentation for details. -+-----------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"IndexDir": ""`` with string input. | -+-----------------------------------------------------------------------------------------------------------+ - Bulk index now ~~~~~~~~~~~~~~ @@ -725,13 +725,13 @@ Select **Purge Index** to remove the contents of the Bleve index directory. Sear Enable Bleve for search queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**True**: Search queries will use bleve search. - -**False**: Search queries will not use bleve search. - -+--------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableSearching": false`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Search queries will use bleve search. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"EnableSearching": false`` | +| **False**: Search queries will not use bleve search. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-bleve-indexingautocomplete :displayname: Enable Bleve for autocomplete queries (Experimental) @@ -745,13 +745,13 @@ Enable Bleve for search queries Enable Bleve for autocomplete queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -**True**: Autocomplete queries will use bleve search. - -**False**: Autocomplete queries will not use bleve search. - -+-----------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableAutocomplete": false`` with options ``true`` and ``false``. | -+-----------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Autocomplete queries will use bleve search. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"EnableAutocomplete": false`` | +| **False**: Autocomplete queries will not use bleve search. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -792,15 +792,15 @@ Enable audit logging .. include:: ../_static/badges/ent-cloud-selfhosted.rst :start-after: :nosearch: -When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, compression, maximium 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. - -**True**: Audit logging files are enabled, and audit files are written locally to a file for a self-hosted deployment. - -**False**: Audit logging files aren't enabled, and audit logs aren't written locally to a file for a self-hosted deployment. - -+--------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileEnabled": false",`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, compression, maximium 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. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | +| **True**: Audit logging files are enabled, and audit files are written locally to a file for a self-hosted deployment. | - Environment variable: N/A | +| | | +| **False**: Audit logging files aren't enabled, and audit logs aren't written locally to a file for a self-hosted deployment. | | +| | | +| Options: ``true`` and ``false``. | | ++--------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-name :displayname: File name (Audit Logging > Self-Hosted) @@ -815,11 +815,11 @@ File name .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -Specify the path to the audit file for a self-hosted deployment. - -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileName": ""`` with string input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileName: ""`` | +| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: N/A | ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-size :displayname: File max size MB (Audit Logging > Self-Hosted) @@ -834,11 +834,11 @@ Max file size .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. The default setting is ``100``. - -+---------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileMaxSizeMB": 100`` with numerical input. | -+---------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxSizeMB: 100`` | +| Numerical input. Default is **100** MB. | - Environment variable: N/A | ++---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-age :displayname: File max age days (Audit Logging > Self-Hosted) @@ -853,11 +853,11 @@ Max file age .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. The default value is ``0``, indicating no limit on the age. - -+--------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileMaxAgeDays": 0`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxAgeDays: 0`` | +| Numerical input. Default is **0** days (no limit). | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-file-backups :displayname: File max backups (Audit Logging > Self-Hosted) @@ -872,11 +872,11 @@ Maximum file backups .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. The default value is ``0``, indicating no limit on the number of backups. - -+--------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileMaxBackups": 0`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxBackups: 0`` | +| Numerical input. Default is **0** (no limit). | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-compression :displayname: File compress (Audit Logging > Self-Hosted) @@ -891,11 +891,11 @@ File compression .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. - -+-------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileCompress": false`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileCompress: false`` | +| Options: ``true`` and ``false``. Default is **false**. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-file-queue :displayname: File max queue size (Audit Logging > Self-Hosted) @@ -910,12 +910,13 @@ Maximum file queue .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -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. The default is ``1000`` records. -This setting can be left as default unless you are seeing audit write failures in the server log and need to adjust the number accordingly. - -+-------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``".ExperimentalAuditSettings.FileMaxQueueSize": 1000`` with numerical input. | -+-------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| 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. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | +| Numerical input. Default is **1000** records. | - Environment variable: N/A | +| | | +| This setting can be left as default unless you are seeing audit write failures in the server log and need to adjust the number accordingly. | | ++-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: audit-logging-certificate :displayname: Audit logging certificate upload (Audit Logging > Cloud Enterprise) @@ -974,13 +975,13 @@ Allowed themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. - -Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. - -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"AllowedThemes": []`` with string array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| | - ``config.json`` setting: ``"AllowedThemes": []`` | +| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | +| | | +| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-users-for-statistics :displayname: Maximum users for statistics (Experimental) @@ -995,15 +996,15 @@ Maximum users for statistics .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. - -Sets the maximum number of users on the server before statistics for total posts, total hashtag posts, total file posts, posts per day, and activated users with posts per day are disabled. - -This setting is used to maximize performance for large Enterprise deployments. - -+---------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"MaxUsersForStatistics": 2500`` with numerical input. | -+---------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| | - ``config.json`` setting: ``"MaxUsersForStatistics": 2500`` | +| Sets the maximum number of users on the server before statistics for total posts, total hashtag posts, total file posts, posts per day, and activated users with posts per day are disabled. | - Environment variable: N/A | +| | | +| This setting is used to maximize performance for large Enterprise deployments. | | +| | | +| Numerical input. Default is **2500** users. | | ++---------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: batch-size :displayname: Batch size (Experimental) @@ -1018,13 +1019,13 @@ Batch size .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. - -Determines how many new posts are batched together to a compliance export file. - -+----------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"BatchSize": 10000`` with numerical input. | -+----------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| | - ``config.json`` setting: ``"BatchSize": 10000`` | +| Determines how many new posts are batched together to a compliance export file. | - Environment variable: N/A | +| | | +| Numerical input. Default is **10000** posts. | | ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-location :displayname: File location (Experimental) @@ -1041,11 +1042,11 @@ File Location This setting isn't available in the System Console and can only be set in ``config.json``. -Set the file location of the compliance exports. By default, they are written to the ``exports`` subdirectory of the configured :ref:`Local Storage directory `. - -+-------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"FileLocation": "export"`` with string input. | -+-------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Set the file location of the compliance exports. By default, they are written to the ``exports`` subdirectory of the configured :ref:`Local Storage directory `. | - System Config path: N/A | +| | - ``config.json`` setting: ``"FileLocation": "export"`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: push-notification-buffer :displayname: Push notification buffer (Experimental) @@ -1061,9 +1062,10 @@ This setting isn't available in the System Console and can only be set in ``conf 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. -+---------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature’s ``config.json`` setting is ``"PushNotificationBuffer": 1000"`` with numerical input. | -+---------------------------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This feature’s ``config.json`` setting is ``"PushNotificationBuffer": 1000`` | +| Numerical input. | - Environment variable: N/A | ++---------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: restrict-system-admin :displayname: File configuration settings @@ -1081,9 +1083,13 @@ This setting isn't available in the System Console and can only be set in ``conf **False**: **(Default for self-host deployments)** No restrictions are applied to the system admin role. -+-------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"RestrictSystemAdmin": "false"`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Restricts the system admin from viewing and modifying a subset of server configuration settings from the System Console. Not recommended for use in on-prem installations. This is intended to support Mattermost Private Cloud in giving the system admin role to users but restricting certain actions only for Cloud Admins. | - System Config path: N/A | +| | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | +| **False**: No restrictions are applied to the system admin role. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -1109,9 +1115,13 @@ Enable client-side certification **False**: Client-side certification is disabled. -+------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ClientSideCertEnable": false`` with options ``true`` and ``false``. | -+------------------------------------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| **True**: Enables client-side certification for your Mattermost server. See :doc:`the documentation ` to learn more. | - System Config path: N/A | +| | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | +| **False**: Client-side certification is disabled. | - Environment variable: N/A | +| | | +| Options: ``true`` and ``false``. | | ++------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: client-side-certification-login-method :displayname: Client-side certification login method (Experimental) @@ -1134,9 +1144,15 @@ Used in combination with the ``ClientSideCertEnable`` configuration setting. **Secondary**: After the client side certificate is verified, user's email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials. -+----------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ClientSideCertCheck": "secondary"`` with options ``"primary"`` and ``"secondary"``. | -+----------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Used in combination with the ``ClientSideCertEnable`` configuration setting. | - System Config path: N/A | +| | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | +| **Primary**: After the client side certificate is verified, user's email is retrieved from the certificate and is used to log in without a password. | - Environment variable: N/A | +| | | +| **Secondary**: After the client side certificate is verified, user's email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials. | | +| | | +| Options: ``"primary"`` and ``"secondary"``. | | ++----------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-output-directory :displayname: Export output directory (Experimental) @@ -1152,9 +1168,11 @@ This setting isn't available in the System Console and can only be set in ``conf The directory where the exported files are stored. The path is relative to the ``FileSettings`` directory. By default, exports are stored under ``./data/export``. -+---------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting under the ``ExportSettings`` section is ``Directory: ./export`` with string input. | -+---------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The directory where the exported files are stored. The path is relative to the ``FileSettings`` directory. By default, exports are stored under ``./data/export``. | - System Config path: N/A | +| | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | +| String input. | - Environment variable: N/A | ++---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-retention-days :displayname: Export retention days (Experimental) @@ -1170,9 +1188,11 @@ This setting isn't available in the System Console and can only be set in ``conf The number of days to retain the exported files before deleting them. -+----------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting under the ``ExportSettings`` section is ``RetentionDays: 30`` with numerical input. | -+----------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The number of days to retain the exported files before deleting them. | - System Config path: N/A | +| | - ``config.json`` setting: ``.ExportSettings.RetentionDays: 30`` | +| Numerical input. | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-image-resolution :displayname: Maximum image resolution (Experimental) @@ -1188,9 +1208,11 @@ This setting isn't available in the System Console and can only be set in ``conf Maximum image resolution size for message attachments in pixels. -+--------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"MaxImageResolution": 33177600`` with numerical input. | -+--------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | +| | - ``config.json`` setting: ``"MaxImageResolution": 33177600`` | +| Numerical input. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-image-decoder-concurrency :displayname: Maximum image decoder concurrency (Experimental) @@ -1212,9 +1234,11 @@ Indicates how many images can be decoded concurrently at once. The default value - 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 <#maximum-image-resolution>`_ configuration setting to adjust the amount of memory needed for image processing. -+--------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"MaxImageDecoderConcurrency": "-1"`` with numerical input. | -+--------------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| 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. | - System Config path: N/A | +| | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | +| Numerical input. | - Environment variable: N/A | ++--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: initial-font :displayname: Initial font (Experimental) @@ -1230,9 +1254,11 @@ This setting isn't available in the System Console and can only be set in ``conf Font used in auto-generated profile pics with colored backgrounds. -+-----------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"InitialFont": "luximbi.ttf"`` with string input. | -+-----------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | +| | - ``config.json`` setting: ``"InitialFont": "luximbi.ttf"`` | +| String input. | - Environment variable: N/A | ++-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: amazon-s3-signature-v2 :displayname: Amazon S3 signature v2 (Experimental) @@ -1254,9 +1280,15 @@ By default, Mattermost uses Signature V4 to sign API calls to AWS, but under som **False**: Use Signature Version 4 Signing Process. -+------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"AmazonS3SignV2": false`` with options ``true`` and ``false``. | -+------------------------------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| By default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is required. For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html. | - System Config path: N/A | +| | - ``config.json`` setting: ``"AmazonS3SignV2": false`` | +| **True**: Use Signature Version 2 Signing Process. | - Environment variable: N/A | +| | | +| **False**: Use Signature Version 4 Signing Process. | | +| | | +| Options: ``true`` and ``false``. | | ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: amazon-s3-path :displayname: Amazon S3 path (Experimental) @@ -1272,9 +1304,10 @@ This setting isn't available in the System Console and can only be set in ``conf Allows using the same S3 bucket for multiple deployments. -+------------------------------------------------------------------------------------------------------------+ -| This feature’s ``config.json`` setting is ``"AmazonS3PathPrefix: ""`` with string input. | -+------------------------------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This feature’s ``config.json`` setting is ``"AmazonS3PathPrefix": ""`` | +| String input. | - Environment variable: N/A | ++------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: gitlab-scope :displayname: GitLab scope (Experimental) @@ -1290,9 +1323,9 @@ This setting isn't available in the System Console and can only be set in ``conf Standard setting for OAuth to determine the scope of information shared with OAuth client. Not currently supported by GitLab OAuth. -+------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This feature's ``config.json`` setting is ``"Scope": ""`` with string input. | -+------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: global-relay-smtp-server-timeout :displayname: Global relay SMTP server timeout (Experimental) @@ -1311,9 +1344,9 @@ This setting isn't available in the System Console and can only be set in ``conf The number of seconds that can elapse before the connection attempt to the SMTP server is abandoned. The default value is 1800 seconds. This setting is currently not available in the System Console and can only be set in ``config.json``. -+-----------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This feature's ``config.json`` setting is ``"GlobalRelaySettings.SMTPServerTimeout": "1800"`` with numerical input. | -+-----------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: google-scope :displayname: Google scope (Experimental) @@ -1350,9 +1383,9 @@ This setting isn't available in the System Console and can only be set in ``conf The directory where the imported files are stored. The path is relative to the ``FileSettings`` directory. By default, imports are stored under ``./data/import``. -+---------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This feature's ``config.json`` setting under the ``ImportSettings`` section is ``Directory: ./import`` with string input. | -+---------------------------------------------------------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: import-retention-days :displayname: Import retention days (Experimental) @@ -1368,9 +1401,9 @@ This setting isn't available in the System Console and can only be set in ``conf The number of days to retain the imported files before deleting them. -+----------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This feature's ``config.json`` setting under the ``ImportSettings`` section is ``RetentionDays: 30`` with numerical input. | -+----------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-from-timestamp :displayname: Export from timestamp (Experimental) @@ -1789,15 +1822,15 @@ This setting isn't available in the System Console and can only be set in ``conf Enable local mode for mmctl ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -**True**: Enables local mode for mmctl. - -**False**: Prevents local mode for mmctl. - -+-------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableLocalMode": false`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| | - ``config.json`` setting: ``"EnableLocalMode": false`` | +| **True**: Enables local mode for mmctl. | - Environment variable: N/A | +| | | +| **False**: Prevents local mode for mmctl. | | +| | | +| Options: ``true`` and ``false``. | | ++-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. tip:: From 947b282db57f2e080a804e609d624356431979ff Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Thu, 10 Jul 2025 17:24:27 -0400 Subject: [PATCH 2/6] Table formatting fixes --- .../experimental-configuration-settings.rst | 765 +++++++++--------- 1 file changed, 396 insertions(+), 369 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index 70efdd3c003..609772aa84a 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -34,11 +34,13 @@ Experimental System Console configuration settings AD/LDAP login button color ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": ""`` | +| This setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-border-color :displayname: AD/LDAP login button border color (Experimental) @@ -53,11 +55,13 @@ AD/LDAP login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | +| This setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-text-color :displayname: AD/LDAP login button text color (Experimental) @@ -72,17 +76,19 @@ AD/LDAP login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | +| This setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: change-authentication-method :displayname: Change authentication method (Experimental) :systemconsole: Experimental > Features :configjson: ExperimentalEnableAuthenticationTransfer - :environment: N/A + :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER - **true**: **(Default)** Users can change their sign-in method to any that is enabled on the server, either via their Profile or the APIs. - **false**: Users cannot change their sign-in method, regardless of which authentication options are enabled. @@ -93,29 +99,32 @@ Change authentication method .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Users can change their sign-in method to any that is enabled on the server, either via their Profile or the APIs. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalEnableAuthenticationTransfer": true`` | -| **False**: Users cannot change their sign-in method, regardless of which authentication options are enabled. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| - **True**: Users can change their sign-in method to any that is enabled on the server, | - System Config path: **Experimental > Features** | +| either via their Profile or the APIs. | - ``config.json`` setting: ``"ExperimentalEnableAuthenticationTransfer": true`` | +| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER | +| - **False**: Users can't change their sign-in method, regardless of which authentication | | +| options are enabled. | | ++----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ .. config:setting:: link-metadata-timeout :displayname: Link metadata timeout (Experimental) :systemconsole: Experimental > Features :configjson: LinkMetadataTimeoutMilliseconds - :environment: N/A - :description: Adds a configurable timeout for requests made to return link metadata. Default is **5000** milliseconds. + :environment: MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS + :description: Adds a configurable timeout for requests made to return link metadata. Default is **5000** milliseconds. Must be a value greater than **0**. 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 post without requiring metadata. This timeout covers the failure cases of broken URLs and bad content types on slow network connections. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LinkMetadataTimeoutMilliseconds": 5000`` | -| Numerical input. Default is **5000** milliseconds. | - Environment variable: N/A | -+---------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | +| If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``"LinkMetadataTimeoutMilliseconds": 5000`` | +| will be posted without requiring metadata. This timeout covers the failure | - Environment variable: N/A | +| cases of broken URLs and bad content types on slow network connections. | | +| | | +| Numerical input. Default is **5000** milliseconds. | | ++-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-batching-buffer-size :displayname: Email batching buffer size (Experimental) @@ -127,16 +136,16 @@ Link metadata timeout Email batching buffer size ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EmailBatchingBufferSize": 256`` | -| Numerical input. Default is **256** notifications. | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EmailBatchingBufferSize": 256`` | +| Numerical input. Default is **256** notifications. | - Environment variable: N/A | ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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 <#id1>`_ configured. + - Notifications will be sent instantly if the queue of emails exceeds the `email batching interval <#email-batching-interval>`__ configured. .. config:setting:: email-batching-interval :displayname: Email batching interval (Experimental) @@ -148,11 +157,12 @@ Email batching buffer size Email batching interval ~~~~~~~~~~~~~~~~~~~~~~~ -+-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the maximum frequency, in seconds, which the batching job checks for new notifications. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | -| Numerical input. Default is **30** seconds. | - Environment variable: N/A | -+-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | +| in which the batching job checks for new notifications. | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | +| | - Environment variable: N/A | +| Numerical input. Default is **30** seconds. | | ++--------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -170,11 +180,13 @@ Email batching interval Email login button color ~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": ""`` | +| This configuration setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-border-color :displayname: Email login button border color (Experimental) @@ -186,11 +198,13 @@ Email login button color Email login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | +| This setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-text-color :displayname: Email login button text color (Experimental) @@ -202,11 +216,13 @@ Email login button border color Email login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the email login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | +| This setting only applies to the mobile app. | - Environment variable: N/A | +| | | +| String input. | | ++-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-account-deactivation :displayname: Enable account deactivation (Experimental) @@ -220,13 +236,18 @@ Email login button text color Enable account deactivation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Ability for users to deactivate their own account from **Settings > Advanced > Deactivate Account**. If a user deactivates their own account, they will get an email notification confirming they were deactivated. Available only when authentication is set to use email/password. Not available when authentication uses SAML or AD/LDAP. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | -| **False**: Ability for users to deactivate their own account is disabled. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | +| Settings menu. | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | +| | - Environment variable: N/A | +| - **True**: Ability for users to deactivate their own account from | | +| **Settings > Advanced > Deactivate Account**. If a user deactivates | | +| their own account, they will get an email notification confirming they | | +| were deactivated. Available only when authentication is set to use email/password. | | +| Not available when authentication uses SAML or AD/LDAP. | | +| | | +| - **False**: Ability for users to deactivate their own account is disabled. | | ++------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-automatic-replies :displayname: Enable automatic replies @@ -240,13 +261,16 @@ Enable account deactivation Enable automatic replies ~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Users can enable Automatic Replies in **Settings > Notifications**. Users set a custom message that will be automatically sent in response to Direct Messages. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalEnableAutomaticReplies": false`` | -| **False**: Disables the Automatic Direct Message Replies feature and hides it from **Settings**. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ +| This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalEnableAutomaticReplies": false`` | +| - **True**: Users can enable Automatic Replies in **Settings > Notifications**. | - Environment variable: N/A | +| Users set a custom message that will be automatically sent in response to | | +| Direct Messages. | | +| | | +| - **False**: Disables the Automatic Direct Message Replies feature and | | +| hides it from **Settings**. | | ++----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ .. config:setting:: enable-channel-viewed-websocket-messages :displayname: Enable channel viewed websocket messages (Experimental) @@ -258,11 +282,13 @@ Enable automatic replies Enable channel viewed websocket messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread notifications across clients and devices. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | -| Options: ``true`` and ``false``. Default is **true**. | - Environment variable: N/A | -+------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | +| notifications across clients and devices. | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | +| | - Environment variable: N/A | +| - **true**: **(Default)** Channel viewed WebSocket events are sent. | | +| - **false**: Channel viewed WebSocket events are not sent. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -278,7 +304,7 @@ Enable channel viewed websocket messages :displayname: Enable default channel leave/join system messages (Experimental) :systemconsole: Experimental > Features :configjson: ExperimentalEnableDefaultChannelLeaveJoinMessages - :environment: N/A + :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEDEFAULTCHANNELLEAVEJOINMESSAGES :description: This setting determines whether team leave/join system messages are posted in the default ``town-square`` channel. - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. @@ -287,21 +313,20 @@ Enable channel viewed websocket messages Enable default channel leave/join system messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether team leave/join system messages are posted in the default ``town-square`` channel. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` | -| **True**: Enables leave/join system messages in the default ``town-square`` channel. | - Environment variable: N/A | -| | | -| **False**: Disables leave/join messages from the default ``town-square`` channel. These system messages won't be added to the database either. | | -| | | -| Options: ``true`` and ``false``. | | -+----------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | +| ``town-square`` channel. | - ``config.json`` setting: ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` | +| | - Environment variable: N/A | +| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | +| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | +| messages won't be added to the database either. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-hardened-mode :displayname: Enable hardened mode (Experimental) :systemconsole: Experimental > Features :configjson: ExperimentalEnableHardenedMode - :environment: N/A + :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. - **false**: **(Default)** Disables hardened mode. @@ -309,13 +334,11 @@ Enable default channel leave/join system messages Enable hardened mode ~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalEnableHardenedMode": false`` | -| **False**: Disables hardened mode. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | - System Config path: **Experimental > Features** | +| interest of security. | - ``config.json`` setting: ``"ExperimentalEnableHardenedMode": false`` | +| - **false**: **(Default)** Disables hardened mode. | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ Changes made when hardened mode is enabled: @@ -340,13 +363,14 @@ Enable theme selection .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Enables the **Display > Theme** tab in **Settings** so users can select their theme. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EnableThemeSelection": true`` | -| **False**: Users cannot select a different theme. The **Display > Theme** tab is hidden in **Settings**. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"EnableThemeSelection": true`` | +| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: N/A | +| their theme. | | +| - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | +| **Settings**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: allow-custom-themes :displayname: Allow custom themes (Experimental) @@ -363,13 +387,13 @@ Allow custom themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Enables the **Display > Theme > Custom Theme** section in **Settings**. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"AllowCustomThemes": true`` | -| **False**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is hidden in **Settings**. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"AllowCustomThemes": true`` | +| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: N/A | +| - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | +| hidden in **Settings**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: default-theme :displayname: Default theme (Experimental) @@ -402,13 +426,14 @@ Default theme Enable tutorial ~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Users are prompted with a tutorial when they open Mattermost for the first time after account creation. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ServiceSettings.EnableTutorial": true`` | -| **False**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ServiceSettings.EnableTutorial": true`` | +| - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: N/A | +| time after account creation. | | +| - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | +| the first time after account creation. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-onboarding-flow :displayname: Enable onboarding flow (Experimental) @@ -422,13 +447,14 @@ Enable tutorial Enable onboarding flow ~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: New Mattermost users are shown key tasks to complete as part of initial onboarding. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ServiceSettings.EnableOnboardingFlow": true`` | -| **False**: User onboarding tasks are disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ServiceSettings.EnableOnboardingFlow": true`` | +| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | +| onboarding. | | +| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | +| Mattermost for the first time after account creation. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-user-typing-messages :displayname: Enable user typing messages (Experimental) @@ -440,11 +466,13 @@ Enable onboarding flow 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | -| Options: ``true`` and ``false``. Default is **true**. | - Environment variable: N/A | -+---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | +| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | +| | - Environment variable: N/A | +| - **true**: **(Default)** "User is typing..." messages are displayed. | | +| - **false**: "User is typing..." messages are not displayed. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -474,17 +502,18 @@ User typing timeout :displayname: User's status and profile fetching poll interval (Experimental) :systemconsole: Experimental > Features :configjson: UsersStatusAndProfileFetchingPollIntervalMilliseconds - :environment: N/A - :description: The number of milliseconds to wait between fetching user statuses and profiles periodically. + :environment: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS + :description: The number of milliseconds to wait between fetching user statuses and profiles periodically. Default is **3000** 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | -| Numerical input. | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | +| periodically. Set to ``0`` to disable. | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | +| | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | +| Numerical input. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -577,13 +606,13 @@ SAML login button text color Use channel name in email notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Channel and team name appears in email notification subject lines. Useful for servers using only one team. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"UseChannelInEmailNotifications": false`` | -| **False**: Only team name appears in email notification subject line. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"UseChannelInEmailNotifications": false`` | +| - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: N/A | +| using only one team. | | +| - **false**: **(Default)** Only team name appears in email notification subject line. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: user-status-away-timeout :displayname: User status away timeout (Experimental) @@ -601,57 +630,64 @@ User status away timeout | Numerical input. Default is **300** seconds. | - Environment variable: N/A | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +metadata missing + Disable data refetching on browser refocus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` | -| **True**: Mattermost won't refetch channels and channel members when the browser regains focus. This may result in improved performance for users with many channels and channel members. | - Environment variable: N/A | -| | | -| **False**: (Default) Mattermost will refetch channels and channel members when the browser regains focus. | | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` | +| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | +| This may result in improved performance for users with many channels and channel members. | | +| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | +| regains focus. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + +metadata missing Disable wake up reconnect handler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` | -| **True**: Mattermost won't attempt to detect when the computer has woken up and refetch data. This might reduce the amount of regular network traffic the app is sending. | - Environment variable: N/A | -| | | -| **False**: (**Default**) Mattermost attempts to detect when the computer has woken up and refreshes data. | | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` | +| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | +| This might reduce the amount of regular network traffic the app is sending. | | +| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | +| data. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + +metadata missing 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 ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | -| **True**: The autocomplete appears after the user types a tilde followed by two or more characters. For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | - Environment variable: N/A | -| | | -| **False**: **(Default)** The autocomplete appears immediately after the user types a tilde. For example, typing ``~`` will show the autocomplete. | | -| | | -| Options: ``true`` and ``false``. | | -+-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | +| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | +| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | +| | | +| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | +| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | +| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | +| For example, typing ``~`` will show the autocomplete. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + +metadata missing YouTube referrer policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` | -| **True**: The referrer policy for embedded YouTube videos is set to ``strict-origin-when-cross-origin``. | - Environment variable: N/A | -| | | -| **False**: (Default) The referrer policy is set to ``no-referrer`` which enhances user privacy by not disclosing the source URL, but limits the ability to track user engagement and traffic sources in analytics tools. | | -| | | -| Options: ``true`` and ``false``. | | -+-------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` | +| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | +| ``strict-origin-when-cross-origin``. | | +| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | +| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | +| sources in analytics tools. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -675,13 +711,13 @@ Access the following configuration settings in the System Console by going to ** Enable Bleve indexing ~~~~~~~~~~~~~~~~~~~~~ -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: The indexing of new posts occurs automatically. Search queries will not use bleve search until :ref:`Enable Bleve for search queries ` is enabled. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"EnableIndexing": false`` | -| **False**: The indexing of new posts does not occur automatically. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether Bleve indexing is enabled for posts to support search functionality. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"EnableIndexing": false`` | +| - **true**: The indexing of new posts occurs automatically. Search queries will not use bleve search | - Environment variable: N/A | +| until :ref:`Enable Bleve for search queries ` is enabled. | | +| - **false**: **(Default)** The indexing of new posts does not occur automatically. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: index-directory :displayname: Index directory (Experimental) @@ -725,13 +761,13 @@ Select **Purge Index** to remove the contents of the Bleve index directory. Sear Enable Bleve for search queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Search queries will use bleve search. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"EnableSearching": false`` | -| **False**: Search queries will not use bleve search. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | +| database search. | - ``config.json`` setting: ``"EnableSearching": false`` | +| | - Environment variable: N/A | +| - **true**: Search queries will use bleve search. | | +| - **false**: **(Default)** Search queries will not use bleve search. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-bleve-indexingautocomplete :displayname: Enable Bleve for autocomplete queries (Experimental) @@ -745,13 +781,13 @@ Enable Bleve for search queries Enable Bleve for autocomplete queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Autocomplete queries will use bleve search. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"EnableAutocomplete": false`` | -| **False**: Autocomplete queries will not use bleve search. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | +| default database search. | - ``config.json`` setting: ``"EnableAutocomplete": false`` | +| | - Environment variable: N/A | +| - **true**: Autocomplete queries will use bleve search. | | +| - **false**: **(Default)** Autocomplete queries will not use bleve search. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -783,7 +819,7 @@ Output log and audit records to any combination of console, local file, syslog, :displayname: Enable audit logging (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileEnabled - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED :description: Write audit files locally for a self-hosted deployment. Enable audit logging @@ -792,21 +828,22 @@ Enable audit logging .. include:: ../_static/badges/ent-cloud-selfhosted.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, compression, maximium 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | -| **True**: Audit logging files are enabled, and audit files are written locally to a file for a self-hosted deployment. | - Environment variable: N/A | -| | | -| **False**: Audit logging files aren't enabled, and audit logs aren't written locally to a file for a self-hosted deployment. | | -| | | -| Options: ``true`` and ``false``. | | -+--------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | +| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | +| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | +| | | +| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | +| self-hosted deployment. | | +| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | +| to a file for a self-hosted deployment. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-name :displayname: File name (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileName - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILENAME :description: Specify the path to the audit file for a self-hosted deployment. File name @@ -815,17 +852,17 @@ File name .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileName: ""`` | -| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: N/A | -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileName: ""`` | +| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-size :displayname: File max size MB (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileMaxSizeMB - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB :description: This is the maximum size (measured in megabytes) that the file can grow before triggering rotation for a self-hosted deployment.. Default is **100** MB. Max file size @@ -837,14 +874,14 @@ Max file size +---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxSizeMB: 100`` | -| Numerical input. Default is **100** MB. | - Environment variable: N/A | +| Numerical input. Default is **100** MB. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB | +---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-age :displayname: File max age days (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileMaxAgeDays - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS :description: This is the maximum age in days a file can reach before triggering rotation for a self-hosted deployment.. The default value is **0**, indicating no limit on the age. Max file age @@ -856,7 +893,7 @@ Max file age +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxAgeDays: 0`` | -| Numerical input. Default is **0** days (no limit). | - Environment variable: N/A | +| Numerical input. Default is **0** days (no limit). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-file-backups @@ -882,7 +919,7 @@ Maximum file backups :displayname: File compress (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileCompress - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS :description: When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. Default value is **false**. File compression @@ -891,17 +928,18 @@ File compression .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileCompress: false`` | -| Options: ``true`` and ``false``. Default is **false**. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileCompress: false`` | +| - **true**: Rotated files are compressed using ``gzip``. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | +| - **false**: **(Default)** Rotated files are not compressed. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-file-queue :displayname: File max queue size (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features :configjson: FileMaxQueueSize - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE :description: 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. Default is **1000** records. Maximum file queue @@ -910,13 +948,15 @@ Maximum file queue .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | -| Numerical input. Default is **1000** records. | - Environment variable: N/A | -| | | -| This setting can be left as default unless you are seeing audit write failures in the server log and need to adjust the number accordingly. | | -+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting determines how many audit records can be queued/buffered at any point in time when | - System Config path: **Experimental > Features** | +| writing to a file for a self-hosted deployment. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | +| Numerical input. Default is **1000** records. | | +| | | +| This setting can be left as default unless you are seeing audit write failures in the server log and | | +| need to adjust the number accordingly. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: audit-logging-certificate :displayname: Audit logging certificate upload (Audit Logging > Cloud Enterprise) @@ -975,13 +1015,14 @@ Allowed themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | -| | - ``config.json`` setting: ``"AllowedThemes": []`` | -| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | -| | | -| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| | - ``config.json`` setting: ``"AllowedThemes": []`` | +| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | +| | | +| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | | +| and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-location :displayname: File location (Experimental) @@ -998,11 +1039,12 @@ File Location This setting isn't available in the System Console and can only be set in ``config.json``. -+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set the file location of the compliance exports. By default, they are written to the ``exports`` subdirectory of the configured :ref:`Local Storage directory `. | - System Config path: N/A | -| | - ``config.json`` setting: ``"FileLocation": "export"`` | -| String input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Set the file location of the compliance exports. By default, they are written to the ``exports`` | - System Config path: N/A | +| subdirectory of the configured :ref:`Local Storage directory `. | - ``config.json`` setting: ``"FileLocation": "export"`` | +| | - Environment variable: N/A | +| String input. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: push-notification-buffer :displayname: Push notification buffer (Experimental) @@ -1027,7 +1069,7 @@ Used to control the buffer of outstanding Push Notification messages to be sent. :displayname: File configuration settings :systemconsole: N/A :configjson: FileEnabled - :environment: N/A + :environment: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN :description: Enable this setting to write audit files locally, specifying size, backup interval, compression, maximum age to manage file rotation, and timestamps. Default value is **false**. Restrict system admin @@ -1035,17 +1077,14 @@ Restrict system admin This setting isn't available in the System Console and can only be set in ``config.json``. -**True**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying a subset of server configuration settings from the System Console. Not recommended for use in on-prem installations. This is intended to support Mattermost Private Cloud in giving the system admin role to users but restricting certain actions only for Cloud Admins. - -**False**: **(Default for self-host deployments)** No restrictions are applied to the system admin role. - -+-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Restricts the system admin from viewing and modifying a subset of server configuration settings from the System Console. Not recommended for use in on-prem installations. This is intended to support Mattermost Private Cloud in giving the system admin role to users but restricting certain actions only for Cloud Admins. | - System Config path: N/A | -| | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | -| **False**: No restrictions are applied to the system admin role. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+-------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | +| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | +| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | +| admin role to users but restricting certain actions only for Cloud Admins. | | +| - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | +| role. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -1056,7 +1095,7 @@ This setting isn't available in the System Console and can only be set in ``conf :displayname: Enable client-side certification (Experimental) :systemconsole: N/A :configjson: ClientSideCertEnable - :environment: N/A + :environment: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE - **true**: Enables client-side certification for your Mattermost server. - **false**: **(Default)** Client-side certification is disabled. @@ -1067,23 +1106,17 @@ Enable client-side certification .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -**True**: Enables client-side certification for your Mattermost server. See :doc:`the documentation ` to learn more. - -**False**: Client-side certification is disabled. - -+------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| **True**: Enables client-side certification for your Mattermost server. See :doc:`the documentation ` to learn more. | - System Config path: N/A | -| | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | -| **False**: Client-side certification is disabled. | - Environment variable: N/A | -| | | -| Options: ``true`` and ``false``. | | -+------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | - System Config path: N/A | +| ` to learn more. | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | +| - **false**: **(Default)** Client-side certification is disabled. | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: client-side-certification-login-method :displayname: Client-side certification login method (Experimental) :systemconsole: N/A :configjson: ClientSideCertCheck - :environment: N/A + :environment: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTCHECK - **primary**: After the client side certificate is verified, user's email is retrieved from the certificate and is used to log in without a password. - **secondary**: **(Default)** After the client side certificate is verified, user's email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials. @@ -1094,21 +1127,16 @@ Client-side certification login method .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -Used in combination with the ``ClientSideCertEnable`` configuration setting. - -**Primary**: After the client side certificate is verified, user's email is retrieved from the certificate and is used to log in without a password. - -**Secondary**: After the client side certificate is verified, user's email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials. - -+----------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Used in combination with the ``ClientSideCertEnable`` configuration setting. | - System Config path: N/A | -| | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | -| **Primary**: After the client side certificate is verified, user's email is retrieved from the certificate and is used to log in without a password. | - Environment variable: N/A | -| | | -| **Secondary**: After the client side certificate is verified, user's email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials. | | -| | | -| Options: ``"primary"`` and ``"secondary"``. | | -+----------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | +| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | +| | - Environment variable: N/A | +| - **primary**: After the client side certificate is verified, user's email is retrieved from the | | +| certificate and is used to log in without a password. | | +| - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | +| retrieved from the certificate and matched against the one supplied by the user. If they match, | | +| the user logs in with regular email/password credentials. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-output-directory :displayname: Export output directory (Experimental) @@ -1124,11 +1152,12 @@ This setting isn't available in the System Console and can only be set in ``conf 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 ``FileSettings`` directory. By default, exports are stored under ``./data/export``. | - System Config path: N/A | -| | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | -| String input. | - Environment variable: N/A | -+---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The directory where the exported files are stored. The path is relative to the ``FileSettings`` | - System Config path: N/A | +| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | +| | - Environment variable: N/A | +| String input. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-retention-days :displayname: Export retention days (Experimental) @@ -1190,11 +1219,12 @@ Indicates how many images can be decoded concurrently at once. The default value - 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 <#maximum-image-resolution>`_ configuration setting to adjust the amount of memory needed for image processing. -+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| 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. | - System Config path: N/A | -| | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | -| Numerical input. | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Indicates how many images can be decoded concurrently at once. The default value of ``-1`` configures | - System Config path: N/A | +| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | +| | - Environment variable: N/A | +| Numerical input. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: initial-font :displayname: Initial font (Experimental) @@ -1230,20 +1260,13 @@ Amazon S3 signature v2 This setting isn't available in the System Console and can only be set in ``config.json``. -By default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is required. For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html. - -**True**: Use Signature Version 2 Signing Process. - -**False**: Use Signature Version 4 Signing Process. - +------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| By default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is required. For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html. | - System Config path: N/A | -| | - ``config.json`` setting: ``"AmazonS3SignV2": false`` | -| **True**: Use Signature Version 2 Signing Process. | - Environment variable: N/A | -| | | -| **False**: Use Signature Version 4 Signing Process. | | +| This setting controls which AWS signature version is used for signing API calls to Amazon S3. By | - System Config path: N/A | +| default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is | - ``config.json`` setting: ``"AmazonS3SignV2": false`` | +| required. For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html. | - Environment variable: N/A | | | | -| Options: ``true`` and ``false``. | | +| - **true**: Use Signature Version 2 Signing Process. | | +| - **false**: **(Default)** Use Signature Version 4 Signing Process. | | +------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: amazon-s3-path @@ -1442,13 +1465,13 @@ Enable plugin uploads This setting isn't available in the System Console and can only be set in ``config.json``. -**True**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan to upload a plugin, set to ``false`` to control which plugins are installed on your server. See `documentation `__ to learn more. - -**False**: Disables plugin uploads on your Mattermost server. - -+-----------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableUploads": false`` with options ``true`` and ``false``. | -+-----------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - System Config path: N/A | +| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | - ``config.json`` setting: ``"EnableUploads": false`` | +| `documentation `__ to | - Environment variable: N/A | +| learn more. | | +| - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: allow-insecure-download-url :displayname: Allow insecure download URL (Experimental) @@ -1464,13 +1487,11 @@ Allow insecure download URL This setting isn't available in the System Console and can only be set in ``config.json``. -**True**: Enables downloading and installing a plugin from a remote URL. - -**False**: Disables downloading and installing a plugin from a remote URL. - -+-----------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"AllowInsecureDownloadUrl": false`` with options ``true`` and ``false``. | -+-----------------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables downloading and installing a plugin from a remote URL. | - System Config path: N/A | +| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | - ``config.json`` setting: ``"AllowInsecureDownloadUrl": false`` | +| | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-plugin-health-check :displayname: Enable plugin health check (Experimental) @@ -1486,13 +1507,13 @@ Enable plugin health check This setting isn't available in the System Console and can only be set in ``config.json``. -**True**: Enables plugin health check to ensure all plugins are periodically monitored, and restarted or deactivated based on their health status. The health check runs every 30 seconds. If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart it. If the restart fails 3 successive times, it's automatically disabled. - -**False**: Disables plugin health check on your Mattermost server. - -+--------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableHealthCheck": true`` with options ``true`` and ``false``. | -+--------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | +| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``"EnableHealthCheck": true`` | +| If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: N/A | +| it. If the restart fails 3 successive times, it's automatically disabled. | | +| - **false**: Disables plugin health check on your Mattermost server. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: plugin-directory :displayname: Plugin directory (Experimental) @@ -1576,7 +1597,7 @@ Adds the name associated with a user's Scoping Identity Provider ID. :displayname: Group unread channels (Experimental) :systemconsole: N/A :configjson: ExperimentalGroupUnreadChannels - :environment: N/A + :environment: MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. Users can enable it in **Settings > Sidebar > Group unread channels separately**. - **default_on**: Enables the unread channels sidebar section for all users by default. Users can disable it in **Settings > Sidebar > Group unread channels separately**. @@ -1588,19 +1609,22 @@ This setting isn't available in the System Console and can only be set in ``conf This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar ` configuration setting to see and enable this functionality in the System Console. -**Default Off**: Disables the unread channels sidebar section for all users by default. Users can enable it in **Settings > Sidebar > Group unread channels separately**. - -**Default On**: Enables the unread channels sidebar section for all users by default. Users can disable it in **Settings > Sidebar > Group unread channels separately**. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. | - System Config path: N/A | +| Users can enable it in **Settings > Sidebar > Group unread channels separately**. | - ``config.json`` setting: ``"ExperimentalGroupUnreadChannels"`` | +| - **default_on**: Enables the unread channels sidebar section for all users by default. Users can | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | +| disable it in **Settings > Sidebar > Group unread channels separately**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -+-----------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalGroupUnreadChannels": "default_off"`` with options ``"default_off"`` and ``"default_on"``. | -+-----------------------------------------------------------------------------------------------------------------------------------------------------+ +based on code: +Default: "disabled" + - Possible Values: "disabled", "default_on", "default_off" .. config:setting:: strict-csrf-token-enforcement :displayname: Strict CSRF token enforcement (Experimental) :systemconsole: N/A :configjson: ExperimentalStrictCSRFEnforcement - :environment: N/A + :environment: MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used custom header. - **false**: **(Default)** Disables CSRF protection tokens. @@ -1610,13 +1634,11 @@ Strict CSRF token enforcement This setting isn't available in the System Console and can only be set in ``config.json``. -**True**: Enables CSRF protection tokens for additional hardening compared to the currently used custom header. When the user logs in, an additional cookie is created with the CSRF token contained. - -**False**: Disables CSRF protection tokens. - -+-------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalStrictCSRFEnforcement": false`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | - System Config path: N/A | +| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | - ``config.json`` setting: ``"ExperimentalStrictCSRFEnforcement"`` | +| - **false**: **(Default)** Disables CSRF protection tokens. | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: developer-flags :displayname: Developer flags (Experimental) @@ -1657,9 +1679,11 @@ This setting isn't available in the System Console and can only be set in ``conf If this setting is enabled, users can search for messages in their Mattermost instance. -+-------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnablePostSearch": true`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | +| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``"EnablePostSearch": true`` | +| | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -1688,13 +1712,11 @@ This setting isn't available in the System Console and can only be set in ``conf 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 :ref:`Enable Document Search by Content ` documentation for details. Document content search is available in Mattermost Server from v5.35, with mobile support coming soon. -**True**: Supported document types are searchable by their filename. - -**False**: File-based searches are disabled. - -+-------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableFileSearch": true`` with options ``true`` and ``false``. | -+-------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | +| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``"EnableFileSearch": true`` | +| | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -1719,9 +1741,12 @@ This setting isn't available in the System Console and can only be set in ``conf 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. -+---------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"EnableUserStatuses": true`` with options ``true`` and ``false``. | -+---------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | +| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``"EnableUserStatuses": true`` | +| online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: N/A | +| the message is posted. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: websocket-secure-port :displayname: Websocket secure port (Experimental) @@ -1778,15 +1803,13 @@ This setting isn't available in the System Console and can only be set in ``conf Enable local mode for mmctl ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | -| | - ``config.json`` setting: ``"EnableLocalMode": false`` | -| **True**: Enables local mode for mmctl. | - Environment variable: N/A | -| | | -| **False**: Prevents local mode for mmctl. | | -| | | -| Options: ``true`` and ``false``. | | -+-------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +This setting isn't available in the System Console and can only be set in ``config.json``. + ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables local mode for mmctl. | - System Config path: N/A | +| - **false**: **(Default)** Prevents local mode for mmctl. | - ``config.json`` setting: ``"EnableLocalMode": false`` | +| | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. tip:: @@ -1866,9 +1889,11 @@ Set whether or not this Mattermost server will handle tasks created by the Sched When running Mattermost in :doc:`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. -+------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"RunJobs": true`` with options ``true`` and ``false``. | -+------------------------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: **(Default)** This Mattermost server will handle tasks created by the Scheduler. | - System Config path: N/A | +| - **false**: This Mattermost server will not handle tasks created by the Scheduler. | - ``config.json`` setting: ``"RunJobs": true`` | +| | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: run-scheduler :displayname: Run scheduler (Experimental) @@ -1890,9 +1915,11 @@ When running Mattermost in :doc:`High Availablity mode Date: Fri, 11 Jul 2025 13:14:51 +0000 Subject: [PATCH 3/6] Update experimental config settings with environment variables and defaults - Add environment variables for login button color settings (AD/LDAP, Email, SAML) - Add environment variables for email batching settings - Add environment variables for user deactivation and theme settings - Include proper default values for all login button color settings - Ensure consistent two-column table format across all settings Co-authored-by: Carrie Warner (Mattermost) --- .../experimental-configuration-settings.rst | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index 609772aa84a..ffc19aa13a8 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -28,7 +28,7 @@ Experimental System Console configuration settings :displayname: AD/LDAP login button color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonColor - :environment: N/A + :environment: MM_LDAPSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. AD/LDAP login button color @@ -36,17 +36,17 @@ AD/LDAP login button color +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": ""`` | -| This setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONCOLOR`` | | | | -| String input. | | +| String input. Default is **#0000**. | | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-border-color :displayname: AD/LDAP login button border color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor - :environment: N/A + :environment: MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. AD/LDAP login button border color @@ -57,17 +57,17 @@ AD/LDAP login button border color +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | -| This setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR`` | | | | -| String input. | | +| String input. Default is **#2389D7**. | | +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-text-color :displayname: AD/LDAP login button text color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonTextColor - :environment: N/A + :environment: MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. AD/LDAP login button text color @@ -78,10 +78,10 @@ AD/LDAP login button text color +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | -| This setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": "#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR`` | | | | -| String input. | | +| String input. Default is **#2389D7**. | | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: change-authentication-method @@ -120,7 +120,7 @@ Link metadata timeout +-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | | If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``"LinkMetadataTimeoutMilliseconds": 5000`` | -| will be posted without requiring metadata. This timeout covers the failure | - Environment variable: N/A | +| will be posted without requiring metadata. This timeout covers the failure | - Environment variable: ``MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS`` | | cases of broken URLs and bad content types on slow network connections. | | | | | | Numerical input. Default is **5000** milliseconds. | | @@ -130,7 +130,7 @@ Link metadata timeout :displayname: Email batching buffer size (Experimental) :systemconsole: Experimental > Features :configjson: EmailBatchingBufferSize - :environment: N/A + :environment: MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE :description: Specify the maximum number of notifications batched into a single email. Default is **256** notifications. Email batching buffer size @@ -139,7 +139,7 @@ Email batching buffer size +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"EmailBatchingBufferSize": 256`` | -| Numerical input. Default is **256** notifications. | - Environment variable: N/A | +| Numerical input. Default is **256** notifications. | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE`` | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -151,7 +151,7 @@ Email batching buffer size :displayname: Email batching interval (Experimental) :systemconsole: Experimental > Features :configjson: EmailBatchingInterval - :environment: N/A + :environment: MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL :description: Specify the maximum frequency, in seconds, which the batching job checks for new notifications. Default is **30** seconds. Email batching interval @@ -160,7 +160,7 @@ Email batching interval +--------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | | in which the batching job checks for new notifications. | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | -| | - Environment variable: N/A | +| | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | | Numerical input. Default is **30** seconds. | | +--------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -174,7 +174,7 @@ Email batching interval :displayname: Email login button color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonColor - :environment: N/A + :environment: MM_EMAILSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. Email login button color @@ -182,17 +182,17 @@ Email login button color +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": ""`` | -| This configuration setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | +| This configuration setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONCOLOR`` | | | | -| String input. | | +| String input. Default is **#0000**. | | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-border-color :displayname: Email login button border color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor - :environment: N/A + :environment: MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. Email login button border color @@ -200,17 +200,17 @@ Email login button border color +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | -| This setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR`` | | | | -| String input. | | +| String input. Default is **#2389D7**. | | +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-text-color :displayname: Email login button text color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonTextColor - :environment: N/A + :environment: MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. Email login button text color @@ -218,17 +218,17 @@ Email login button text color +-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | -| This setting only applies to the mobile app. | - Environment variable: N/A | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": "#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR`` | | | | -| String input. | | +| String input. Default is **#2389D7**. | | +-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-account-deactivation :displayname: Enable account deactivation (Experimental) :systemconsole: Experimental > Features :configjson: EnableUserDeactivation - :environment: N/A + :environment: MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION - **true**: Ability for users to deactivate their own account from **Settings > Advanced** is enabled. - **false**: **(Default)** Ability for users to deactivate their own account is disabled. @@ -239,7 +239,7 @@ Enable account deactivation +------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | | Settings menu. | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | -| | - Environment variable: N/A | +| | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | | - **True**: Ability for users to deactivate their own account from | | | **Settings > Advanced > Deactivate Account**. If a user deactivates | | | their own account, they will get an email notification confirming they | | @@ -352,7 +352,7 @@ Changes made when hardened mode is enabled: :displayname: Enable theme selection (Experimental) :systemconsole: Experimental > Features :configjson: EnableThemeSelection - :environment: N/A + :environment: MM_THEMESETTINGS_ENABLETHEMESELECTION - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select their theme. - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in **Settings**. @@ -366,7 +366,7 @@ Enable theme selection +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"EnableThemeSelection": true`` | -| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: N/A | +| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | | their theme. | | | - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | | **Settings**. | | @@ -376,7 +376,7 @@ Enable theme selection :displayname: Allow custom themes (Experimental) :systemconsole: Experimental > Features :configjson: AllowCustomThemes - :environment: N/A + :environment: MM_THEMESETTINGS_ALLOWCUSTOMTHEMES - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is hidden in **Settings**. @@ -390,7 +390,7 @@ Allow custom themes +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"AllowCustomThemes": true`` | -| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: N/A | +| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | | - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | | hidden in **Settings**. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -399,7 +399,7 @@ Allow custom themes :displayname: Default theme (Experimental) :systemconsole: Experimental > Features :configjson: DefaultTheme - :environment: N/A + :environment: MM_THEMESETTINGS_DEFAULTTHEME :description: Set a default theme that applies to all new users on the system. Default is **default**. Default theme @@ -411,7 +411,7 @@ Default theme +--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"DefaultTheme": "default"`` | -| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: N/A | +| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | +--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-tutorial @@ -541,7 +541,7 @@ Primary team :displayname: SAML login button color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonColor - :environment: N/A + :environment: MM_SAMLSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. SAML login button color @@ -552,15 +552,15 @@ SAML login button color +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonColor": ""`` | -| String input. | - Environment variable: N/A | +| | - ``config.json`` setting: ``"LoginButtonColor": "#34a28b"`` | +| String input. Default is **#34a28b**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-border-color :displayname: SAML login button border color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor - :environment: N/A + :environment: MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. SAML login button border color @@ -571,15 +571,15 @@ SAML login button border color +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonBorderColor": ""`` | -| String input. | - Environment variable: N/A | +| | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | +| String input. Default is **#2389D7**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR`` | +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-text-color :displayname: SAML login button text color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonTextColor - :environment: N/A + :environment: MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. SAML login button text color @@ -590,8 +590,8 @@ SAML login button text color +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonTextColor": ""`` | -| String input. | - Environment variable: N/A | +| | - ``config.json`` setting: ``"LoginButtonTextColor": "#ffffff"`` | +| String input. Default is **#ffffff**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR`` | +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: use-channel-name-in-email-notifications From 05fb6dda05ac1e5b1a1af80efeb525f73de81b64 Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Tue, 15 Jul 2025 11:46:48 -0400 Subject: [PATCH 4/6] Editorial updates --- .../experimental-configuration-settings.rst | 358 +++++++++--------- 1 file changed, 179 insertions(+), 179 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index ffc19aa13a8..450f96f4e39 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -29,7 +29,7 @@ Experimental System Console configuration settings :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_LDAPSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code that begins with # before the code. AD/LDAP login button color ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -39,7 +39,7 @@ AD/LDAP login button color | Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONCOLOR`` | | | | -| String input. Default is **#0000**. | | +| String input. Default is **#0000**. | | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-border-color @@ -47,7 +47,7 @@ AD/LDAP login button color :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code that begins with # before the code. AD/LDAP login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -68,7 +68,7 @@ AD/LDAP login button border color :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code that begins with # before the code. AD/LDAP login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -160,7 +160,7 @@ Email batching interval +--------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | | in which the batching job checks for new notifications. | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | -| | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | +| | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | | Numerical input. Default is **30** seconds. | | +--------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -175,7 +175,7 @@ Email batching interval :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_EMAILSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the email login button for white labeling purposes. Use a hex code that begins with # before the code. Email login button color ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -185,7 +185,7 @@ Email login button color | Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | | This configuration setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONCOLOR`` | | | | -| String input. Default is **#0000**. | | +| String input. Default is **#0000**. | | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-border-color @@ -193,7 +193,7 @@ Email login button color :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the email login button border for white labeling purposes. Use a hex code that begins with # before the code. Email login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -211,7 +211,7 @@ Email login button border color :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the email login button text for white labeling purposes. Use a hex code that begins with # before the code. Email login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -237,7 +237,7 @@ Enable account deactivation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | +| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | | Settings menu. | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | | | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | | - **True**: Ability for users to deactivate their own account from | | @@ -262,7 +262,7 @@ Enable automatic replies ~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ -| This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | +| This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ExperimentalEnableAutomaticReplies": false`` | | - **True**: Users can enable Automatic Replies in **Settings > Notifications**. | - Environment variable: N/A | | Users set a custom message that will be automatically sent in response to | | @@ -284,9 +284,9 @@ Enable channel viewed websocket messages +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | -| notifications across clients and devices. | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | +| notifications across clients and devices. | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | | | - Environment variable: N/A | -| - **true**: **(Default)** Channel viewed WebSocket events are sent. | | +| - **true**: **(Default)** Channel viewed WebSocket events are sent. | | | - **false**: Channel viewed WebSocket events are not sent. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -314,12 +314,12 @@ Enable default channel leave/join system messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | +| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | | ``town-square`` channel. | - ``config.json`` setting: ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` | | | - Environment variable: N/A | -| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | -| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | -| messages won't be added to the database either. | | +| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | +| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | +| messages won't be added to the database either. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-hardened-mode @@ -335,9 +335,9 @@ Enable hardened mode ~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | - System Config path: **Experimental > Features** | +| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | - System Config path: **Experimental > Features** | | interest of security. | - ``config.json`` setting: ``"ExperimentalEnableHardenedMode": false`` | -| - **false**: **(Default)** Disables hardened mode. | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | +| - **false**: **(Default)** Disables hardened mode. | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ Changes made when hardened mode is enabled: @@ -364,11 +364,11 @@ Enable theme selection :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | +| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"EnableThemeSelection": true`` | -| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | +| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | | their theme. | | -| - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | +| - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | | **Settings**. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -388,11 +388,11 @@ Allow custom themes :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | +| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"AllowCustomThemes": true`` | -| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | -| - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | -| hidden in **Settings**. | | +| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | +| - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | +| hidden in **Settings**. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: default-theme @@ -408,11 +408,11 @@ Default theme .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"DefaultTheme": "default"`` | -| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``"DefaultTheme": "default"`` | +| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | ++--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-tutorial :displayname: Enable tutorial (Experimental) @@ -427,12 +427,12 @@ Enable tutorial ~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | +| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ServiceSettings.EnableTutorial": true`` | -| - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: N/A | -| time after account creation. | | -| - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | -| the first time after account creation. | | +| - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: N/A | +| time after account creation. | | +| - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | +| the first time after account creation. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-onboarding-flow @@ -448,12 +448,12 @@ Enable onboarding flow ~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | +| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ServiceSettings.EnableOnboardingFlow": true`` | -| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | +| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | | onboarding. | | -| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | -| Mattermost for the first time after account creation. | | +| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | +| Mattermost for the first time after account creation. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-user-typing-messages @@ -467,11 +467,11 @@ Enable user typing messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | -| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | +| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | +| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | | | - Environment variable: N/A | -| - **true**: **(Default)** "User is typing..." messages are displayed. | | -| - **false**: "User is typing..." messages are not displayed. | | +| - **true**: **(Default)** "User is typing..." messages are displayed. | | +| - **false**: "User is typing..." messages are not displayed. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: @@ -493,7 +493,7 @@ User typing timeout ~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. | - System Config path: **Experimental > Features** | +| This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"TimeBetweenUserTypingUpdatesMilliseconds": 5000`` | | Numerical input. Default is **5000** milliseconds. | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -509,8 +509,8 @@ User's status and profile fetching poll interval ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | -| periodically. Set to ``0`` to disable. | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | +| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | +| periodically. Set to ``0`` to disable. | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | | | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | | Numerical input. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -542,7 +542,7 @@ Primary team :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_SAMLSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. SAML login button color ~~~~~~~~~~~~~~~~~~~~~~~ @@ -551,7 +551,7 @@ SAML login button color :start-after: :nosearch: +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | +| Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"LoginButtonColor": "#34a28b"`` | | String input. Default is **#34a28b**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | +-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -561,7 +561,7 @@ SAML login button color :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code that begins with # before the code. SAML login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -580,7 +580,7 @@ SAML login button border color :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. + :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code that begins with # before the code. SAML login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -607,11 +607,11 @@ Use channel name in email notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | +| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"UseChannelInEmailNotifications": false`` | -| - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: N/A | -| using only one team. | | -| - **false**: **(Default)** Only team name appears in email notification subject line. | | +| - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: N/A | +| using only one team. | | +| - **false**: **(Default)** Only team name appears in email notification subject line. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: user-status-away-timeout @@ -636,11 +636,11 @@ Disable data refetching on browser refocus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | +| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` | -| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | -| This may result in improved performance for users with many channels and channel members. | | -| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | +| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | +| This may result in improved performance for users with many channels and channel members. | | +| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | | regains focus. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -650,11 +650,11 @@ Disable wake up reconnect handler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | +| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` | -| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | -| This might reduce the amount of regular network traffic the app is sending. | | -| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | +| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | +| This might reduce the amount of regular network traffic the app is sending. | | +| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | | data. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -664,14 +664,14 @@ Delay channel autocomplete ~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | -| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | -| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | +| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | +| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | +| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | | | | -| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | -| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | -| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | -| For example, typing ``~`` will show the autocomplete. | | +| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | +| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | +| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | +| For example, typing ``~`` will show the autocomplete. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ metadata missing @@ -680,13 +680,13 @@ YouTube referrer policy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | +| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` | -| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | -| ``strict-origin-when-cross-origin``. | | -| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | -| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | -| sources in analytics tools. | | +| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | +| ``strict-origin-when-cross-origin``. | | +| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | +| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | +| sources in analytics tools. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -712,9 +712,9 @@ Enable Bleve indexing ~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve indexing is enabled for posts to support search functionality. | - System Config path: **Experimental > Bleve** | +| This setting controls whether Bleve indexing is enabled for posts to support search functionality. | - System Config path: **Experimental > Bleve** | | | - ``config.json`` setting: ``"EnableIndexing": false`` | -| - **true**: The indexing of new posts occurs automatically. Search queries will not use bleve search | - Environment variable: N/A | +| - **true**: The indexing of new posts occurs automatically. Search queries will not use bleve search | - Environment variable: N/A | | until :ref:`Enable Bleve for search queries ` is enabled. | | | - **false**: **(Default)** The indexing of new posts does not occur automatically. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -729,11 +729,11 @@ Enable Bleve indexing Index directory ~~~~~~~~~~~~~~~ -+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"IndexDir": ""`` | -| String input. | - Environment variable: N/A | -+-----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-----------------------------------------------------------+--------------------------------------------------------------------------+ +| Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``"IndexDir": ""`` | +| String input. | - Environment variable: N/A | ++-----------------------------------------------------------+--------------------------------------------------------------------------+ .. tip:: @@ -762,11 +762,11 @@ Enable Bleve for search queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | +| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | | database search. | - ``config.json`` setting: ``"EnableSearching": false`` | | | - Environment variable: N/A | -| - **true**: Search queries will use bleve search. | | -| - **false**: **(Default)** Search queries will not use bleve search. | | +| - **true**: Search queries will use bleve search. | | +| - **false**: **(Default)** Search queries will not use bleve search. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-bleve-indexingautocomplete @@ -782,11 +782,11 @@ Enable Bleve for autocomplete queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | +| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | | default database search. | - ``config.json`` setting: ``"EnableAutocomplete": false`` | | | - Environment variable: N/A | -| - **true**: Autocomplete queries will use bleve search. | | -| - **false**: **(Default)** Autocomplete queries will not use bleve search. | | +| - **true**: Autocomplete queries will use bleve search. | | +| - **false**: **(Default)** Autocomplete queries will not use bleve search. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ---- @@ -829,14 +829,14 @@ Enable audit logging :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | -| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | -| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | +| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | +| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | +| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | | | | -| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | +| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | | self-hosted deployment. | | -| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | -| to a file for a self-hosted deployment. | | +| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | +| to a file for a self-hosted deployment. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-name @@ -853,9 +853,9 @@ File name :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileName: ""`` | -| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | +| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-size @@ -891,7 +891,7 @@ Max file age :start-after: :nosearch: +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxAgeDays: 0`` | | Numerical input. Default is **0** days (no limit). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -910,7 +910,7 @@ Maximum file backups :start-after: :nosearch: +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. | - System Config path: **Experimental > Features** | +| This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxBackups: 0`` | | Numerical input. Default is **0** (no limit). | - Environment variable: N/A | +--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -929,10 +929,10 @@ File compression :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | +| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | | | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileCompress: false`` | -| - **true**: Rotated files are compressed using ``gzip``. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | -| - **false**: **(Default)** Rotated files are not compressed. | | +| - **true**: Rotated files are compressed using ``gzip``. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | +| - **false**: **(Default)** Rotated files are not compressed. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-file-queue @@ -949,13 +949,13 @@ Maximum file queue :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines how many audit records can be queued/buffered at any point in time when | - System Config path: **Experimental > Features** | -| writing to a file for a self-hosted deployment. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | +| This setting determines how many audit records can be queued/buffered at any point in time when | - System Config path: **Experimental > Features** | +| writing to a file for a self-hosted deployment. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | | | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | -| Numerical input. Default is **1000** records. | | +| Numerical input. Default is **1000** records. | | | | | -| This setting can be left as default unless you are seeing audit write failures in the server log and | | -| need to adjust the number accordingly. | | +| This setting can be left as default unless you are seeing audit write failures in the server log and | | +| need to adjust the number accordingly. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: audit-logging-certificate @@ -1016,12 +1016,12 @@ Allowed themes :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | +| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | | | - ``config.json`` setting: ``"AllowedThemes": []`` | -| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | +| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | | | | -| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | | -| and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | +| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | | +| and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: file-location @@ -1078,11 +1078,11 @@ Restrict system admin This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | -| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | -| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | -| admin role to users but restricting certain actions only for Cloud Admins. | | -| - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | +| - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | +| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | +| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | +| admin role to users but restricting certain actions only for Cloud Admins. | | +| - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | | role. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1107,9 +1107,9 @@ Enable client-side certification :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | - System Config path: N/A | -| ` to learn more. | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | -| - **false**: **(Default)** Client-side certification is disabled. | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | +| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | - System Config path: N/A | +| ` to learn more. | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | +| - **false**: **(Default)** Client-side certification is disabled. | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: client-side-certification-login-method @@ -1128,14 +1128,14 @@ Client-side certification login method :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | -| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | +| This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | +| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | | | - Environment variable: N/A | -| - **primary**: After the client side certificate is verified, user's email is retrieved from the | | -| certificate and is used to log in without a password. | | -| - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | -| retrieved from the certificate and matched against the one supplied by the user. If they match, | | -| the user logs in with regular email/password credentials. | | +| - **primary**: After the client side certificate is verified, user's email is retrieved from the | | +| certificate and is used to log in without a password. | | +| - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | +| retrieved from the certificate and matched against the one supplied by the user. If they match, | | +| the user logs in with regular email/password credentials. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: export-output-directory @@ -1153,8 +1153,8 @@ This setting isn't available in the System Console and can only be set in ``conf 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 ``FileSettings`` | - System Config path: N/A | -| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | +| The directory where the exported files are stored. The path is relative to the ``FileSettings`` | - System Config path: N/A | +| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | | | - Environment variable: N/A | | String input. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1173,11 +1173,11 @@ This setting isn't available in the System Console and can only be set in ``conf The number of days to retain the exported files before deleting them. -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The number of days to retain the exported files before deleting them. | - System Config path: N/A | -| | - ``config.json`` setting: ``.ExportSettings.RetentionDays: 30`` | -| Numerical input. | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The number of days to retain the exported files before deleting them. | - System Config path: N/A | +| | - ``config.json`` setting: ``.ExportSettings.RetentionDays: 30`` | +| Numerical input. | - Environment variable: N/A | ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-image-resolution :displayname: Maximum image resolution (Experimental) @@ -1193,11 +1193,11 @@ This setting isn't available in the System Console and can only be set in ``conf Maximum image resolution size for message attachments in pixels. -+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | -| | - ``config.json`` setting: ``"MaxImageResolution": 33177600`` | -| Numerical input. | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | +| | - ``config.json`` setting: ``"MaxImageResolution": 33177600`` | +| Numerical input. | - Environment variable: N/A | ++----------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: maximum-image-decoder-concurrency :displayname: Maximum image decoder concurrency (Experimental) @@ -1220,8 +1220,8 @@ Indicates how many images can be decoded concurrently at once. The default value - 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 <#maximum-image-resolution>`_ configuration setting to adjust the amount of memory needed for image processing. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Indicates how many images can be decoded concurrently at once. The default value of ``-1`` configures | - System Config path: N/A | -| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | +| Indicates how many images can be decoded concurrently at once. The default value of ``-1`` configures | - System Config path: N/A | +| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | | | - Environment variable: N/A | | Numerical input. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1240,11 +1240,11 @@ This setting isn't available in the System Console and can only be set in ``conf Font used in auto-generated profile pics with colored backgrounds. -+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | -| | - ``config.json`` setting: ``"InitialFont": "luximbi.ttf"`` | -| String input. | - Environment variable: N/A | -+-----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | +| | - ``config.json`` setting: ``"InitialFont": "luximbi.ttf"`` | +| String input. | - Environment variable: N/A | ++-------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: amazon-s3-signature-v2 :displayname: Amazon S3 signature v2 (Experimental) @@ -1466,11 +1466,11 @@ Enable plugin uploads This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - System Config path: N/A | -| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | - ``config.json`` setting: ``"EnableUploads": false`` | -| `documentation `__ to | - Environment variable: N/A | +| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - System Config path: N/A | +| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | - ``config.json`` setting: ``"EnableUploads": false`` | +| `documentation `__ to | - Environment variable: N/A | | learn more. | | -| - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | +| - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: allow-insecure-download-url @@ -1488,8 +1488,8 @@ Allow insecure download URL This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables downloading and installing a plugin from a remote URL. | - System Config path: N/A | -| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | - ``config.json`` setting: ``"AllowInsecureDownloadUrl": false`` | +| - **true**: Enables downloading and installing a plugin from a remote URL. | - System Config path: N/A | +| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | - ``config.json`` setting: ``"AllowInsecureDownloadUrl": false`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1508,11 +1508,11 @@ Enable plugin health check This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | -| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``"EnableHealthCheck": true`` | -| If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: N/A | +| - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | +| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``"EnableHealthCheck": true`` | +| If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: N/A | | it. If the restart fails 3 successive times, it's automatically disabled. | | -| - **false**: Disables plugin health check on your Mattermost server. | | +| - **false**: Disables plugin health check on your Mattermost server. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: plugin-directory @@ -1610,10 +1610,10 @@ This setting isn't available in the System Console and can only be set in ``conf This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar ` configuration setting to see and enable this functionality in the System Console. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. | - System Config path: N/A | -| Users can enable it in **Settings > Sidebar > Group unread channels separately**. | - ``config.json`` setting: ``"ExperimentalGroupUnreadChannels"`` | -| - **default_on**: Enables the unread channels sidebar section for all users by default. Users can | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | -| disable it in **Settings > Sidebar > Group unread channels separately**. | | +| - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. | - System Config path: N/A | +| Users can enable it in **Settings > Sidebar > Group unread channels separately**. | - ``config.json`` setting: ``"ExperimentalGroupUnreadChannels"`` | +| - **default_on**: Enables the unread channels sidebar section for all users by default. Users can | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | +| disable it in **Settings > Sidebar > Group unread channels separately**. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ based on code: @@ -1635,9 +1635,9 @@ Strict CSRF token enforcement This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | - System Config path: N/A | -| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | - ``config.json`` setting: ``"ExperimentalStrictCSRFEnforcement"`` | -| - **false**: **(Default)** Disables CSRF protection tokens. | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | +| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | - System Config path: N/A | +| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | - ``config.json`` setting: ``"ExperimentalStrictCSRFEnforcement"`` | +| - **false**: **(Default)** Disables CSRF protection tokens. | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: developer-flags @@ -1680,8 +1680,8 @@ This setting isn't available in the System Console and can only be set in ``conf If this setting is enabled, users can search for messages in their Mattermost instance. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | -| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``"EnablePostSearch": true`` | +| - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | +| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``"EnablePostSearch": true`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1713,8 +1713,8 @@ This setting isn't available in the System Console and can only be set in ``conf 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 :ref:`Enable Document Search by Content ` documentation for details. Document content search is available in Mattermost Server from v5.35, with mobile support coming soon. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | -| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``"EnableFileSearch": true`` | +| - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | +| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``"EnableFileSearch": true`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1742,10 +1742,10 @@ This setting isn't available in the System Console and can only be set in ``conf 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. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | -| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``"EnableUserStatuses": true`` | -| online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: N/A | -| the message is posted. | | +| - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | +| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``"EnableUserStatuses": true`` | +| online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: N/A | +| the message is posted. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: websocket-secure-port @@ -1805,11 +1805,11 @@ Enable local mode for mmctl This setting isn't available in the System Console and can only be set in ``config.json``. -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables local mode for mmctl. | - System Config path: N/A | -| - **false**: **(Default)** Prevents local mode for mmctl. | - ``config.json`` setting: ``"EnableLocalMode": false`` | -| | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------+--------------------------------------------------------------------------+ +| - **true**: Enables local mode for mmctl. | - System Config path: N/A | +| - **false**: **(Default)** Prevents local mode for mmctl. | - ``config.json`` setting: ``"EnableLocalMode": false`` | +| | - Environment variable: N/A | ++--------------------------------------------------------------------+--------------------------------------------------------------------------+ .. tip:: @@ -1890,8 +1890,8 @@ Set whether or not this Mattermost server will handle tasks created by the Sched When running Mattermost in :doc:`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. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** This Mattermost server will handle tasks created by the Scheduler. | - System Config path: N/A | -| - **false**: This Mattermost server will not handle tasks created by the Scheduler. | - ``config.json`` setting: ``"RunJobs": true`` | +| - **true**: **(Default)** This Mattermost server will handle tasks created by the Scheduler. | - System Config path: N/A | +| - **false**: This Mattermost server will not handle tasks created by the Scheduler. | - ``config.json`` setting: ``"RunJobs": true`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1916,9 +1916,9 @@ When running Mattermost in :doc:`High Availablity mode Date: Tue, 15 Jul 2025 17:27:04 -0400 Subject: [PATCH 5/6] Editorial reviews --- .../experimental-configuration-settings.rst | 1119 ++++++++++------- 1 file changed, 646 insertions(+), 473 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index 450f96f4e39..4c3e3f9ba00 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -29,14 +29,14 @@ Experimental System Console configuration settings :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_LDAPSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#0000**. AD/LDAP login button color ~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonColor``: ``"#0000"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONCOLOR`` | | | | | String input. Default is **#0000**. | | @@ -47,7 +47,7 @@ AD/LDAP login button color :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** AD/LDAP login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -57,10 +57,10 @@ AD/LDAP login button border color +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR`` | | | | -| String input. Default is **#2389D7**. | | +| String input. Default is **#2389D7**. | | +---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-text-color @@ -68,7 +68,7 @@ AD/LDAP login button border color :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** AD/LDAP login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -78,10 +78,10 @@ AD/LDAP login button text color +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the AD/LDAP login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": "#2389D7"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonTextColor``: ``"#2389D7"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR`` | | | | -| String input. Default is **#2389D7**. | | +| String input. Default is **#2389D7**. | | +--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: change-authentication-method @@ -99,32 +99,34 @@ Change authentication method .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ -| - **True**: Users can change their sign-in method to any that is enabled on the server, | - System Config path: **Experimental > Features** | -| either via their Profile or the APIs. | - ``config.json`` setting: ``"ExperimentalEnableAuthenticationTransfer": true`` | -| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER | -| - **False**: Users can't change their sign-in method, regardless of which authentication | | -| options are enabled. | | -+----------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| This setting controls whether users can change their authentication method to any method | - System Config path: **Experimental > Features** | +| that is enabled on the server. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAuthenticationTransfer``: ``true`` | +| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER | +| - **True**: Users can change their sign-in method to any that is enabled on the server, | | +| either via their Profile or the APIs. | | +| - **False**: Users can't change their sign-in method, regardless of which authentication | | +| options are enabled. | | ++----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. config:setting:: link-metadata-timeout :displayname: Link metadata timeout (Experimental) :systemconsole: Experimental > Features :configjson: LinkMetadataTimeoutMilliseconds :environment: MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS - :description: Adds a configurable timeout for requests made to return link metadata. Default is **5000** milliseconds. Must be a value greater than **0**. + :description: Adds a configurable timeout for requests made to return link metadata. Must be a value greater than **0**. Default is **5000** milliseconds. Link metadata timeout ~~~~~~~~~~~~~~~~~~~~~ -+-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | -| If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``"LinkMetadataTimeoutMilliseconds": 5000`` | ++-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | +| If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``ExperimentalSettings`` > ``LinkMetadataTimeoutMilliseconds``: ``5000`` | | will be posted without requiring metadata. This timeout covers the failure | - Environment variable: ``MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS`` | -| cases of broken URLs and bad content types on slow network connections. | | -| | | -| Numerical input. Default is **5000** milliseconds. | | -+-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| cases of broken URLs and bad content types on slow network connections. | | +| | | +| Numerical input. Default is **5000** milliseconds. | | ++-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ .. config:setting:: email-batching-buffer-size :displayname: Email batching buffer size (Experimental) @@ -138,14 +140,14 @@ Email batching buffer size +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EmailBatchingBufferSize": 256`` | +| | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingBufferSize``: ``256`` | | Numerical input. Default is **256** notifications. | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE`` | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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 <#email-batching-interval>`__ configured. + - Notifications will be sent instantly if the queue of emails exceeds the `email batching interval <#email-batching-interval>`__ value configured. .. config:setting:: email-batching-interval :displayname: Email batching interval (Experimental) @@ -159,7 +161,7 @@ Email batching interval +--------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | -| in which the batching job checks for new notifications. | - ``config.json`` setting: ``"EmailBatchingInterval": 30`` | +| in which the batching job checks for new notifications. | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingInterval``: ``30`` | | | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | | Numerical input. Default is **30** seconds. | | +--------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -175,14 +177,14 @@ Email batching interval :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_EMAILSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the email login button for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the email login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#0000**. Email login button color ~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonColor": "#0000"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonColor``: ``"#0000"`` | | This configuration setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONCOLOR`` | | | | | String input. Default is **#0000**. | | @@ -193,17 +195,17 @@ Email login button color :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the email login button border for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the email login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** Email login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR`` | | | | -| String input. Default is **#2389D7**. | | +| String input. Default is **#2389D7**. | | +----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: email-login-button-text-color @@ -211,17 +213,17 @@ Email login button border color :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the email login button text for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the email login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** Email login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Specify the color of the email login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``"LoginButtonTextColor": "#2389D7"`` | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonTextColor``: ``"#2389D7"`` | | This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR`` | | | | -| String input. Default is **#2389D7**. | | +| String input. Default is **#2389D7**. | | +-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-account-deactivation @@ -230,24 +232,24 @@ Email login button text color :configjson: EnableUserDeactivation :environment: MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION - - **true**: Ability for users to deactivate their own account from **Settings > Advanced** is enabled. - - **false**: **(Default)** Ability for users to deactivate their own account is disabled. + - **true**: Users can deactivate their own account from **Settings > Advanced** is enabled. + - **false**: **(Default)** Users can't deactivate their own account. Enable account deactivation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | -| Settings menu. | - ``config.json`` setting: ``"EnableUserDeactivation": false`` | -| | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | -| - **True**: Ability for users to deactivate their own account from | | -| **Settings > Advanced > Deactivate Account**. If a user deactivates | | -| their own account, they will get an email notification confirming they | | -| were deactivated. Available only when authentication is set to use email/password. | | -| Not available when authentication uses SAML or AD/LDAP. | | -| | | -| - **False**: Ability for users to deactivate their own account is disabled. | | -+------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------+---------------------------------------------------------------------+ +| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | +| Settings menu. | - ``config.json`` setting: ``TeamSettings`` > ``EnableUserDeactivation``: ``false`` | +| | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | +| - **True**: Users can deactivate their own account from | | +| **Settings > Advanced > Deactivate Account**. If a user deactivates | | +| their own account, they will get an email notification confirming they | | +| were deactivated. Available only when authentication is set to use email/password. | | +| Not available when authentication uses SAML or AD/LDAP. | | +| | | +| - **False**: **(Default)** Users can't deactivate their own account. | | ++------------------------------------------------------------------------------------------+---------------------------------------------------------------------+ .. config:setting:: enable-automatic-replies :displayname: Enable automatic replies @@ -263,12 +265,12 @@ Enable automatic replies +----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ | This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalEnableAutomaticReplies": false`` | +| | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAutomaticReplies``: ``false`` | | - **True**: Users can enable Automatic Replies in **Settings > Notifications**. | - Environment variable: N/A | | Users set a custom message that will be automatically sent in response to | | | Direct Messages. | | | | | -| - **False**: Disables the Automatic Direct Message Replies feature and | | +| - **False**: **(Default)** Disables the Automatic Direct Message Replies feature and | | | hides it from **Settings**. | | +----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ @@ -283,8 +285,8 @@ Enable channel viewed websocket messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | -| notifications across clients and devices. | - ``config.json`` setting: ``"EnableChannelViewedMessages": true`` | +| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | +| notifications across clients and devices. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableChannelViewedMessages``: ``true`` | | | - Environment variable: N/A | | - **true**: **(Default)** Channel viewed WebSocket events are sent. | | | - **false**: Channel viewed WebSocket events are not sent. | | @@ -298,7 +300,8 @@ Enable channel viewed websocket messages - 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. + + 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. .. config:setting:: enable-default-channel-leavejoin-system-messages :displayname: Enable default channel leave/join system messages (Experimental) @@ -313,14 +316,14 @@ Enable channel viewed websocket messages Enable default channel leave/join system messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | -| ``town-square`` channel. | - ``config.json`` setting: ``"ExperimentalEnableDefaultChannelLeaveJoinMessages": true`` | -| | - Environment variable: N/A | -| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | -| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | -| messages won't be added to the database either. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ +| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | +| ``town-square`` channel. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableDefaultChannelLeaveJoinMessages``: ``true`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALENABLEDEFAULTCHANNELLEAVEJOINMESSAGES`` | +| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | +| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | +| messages won't be added to the database either. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ .. config:setting:: enable-hardened-mode :displayname: Enable hardened mode (Experimental) @@ -334,11 +337,14 @@ Enable default channel leave/join system messages Enable hardened mode ~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | - System Config path: **Experimental > Features** | -| interest of security. | - ``config.json`` setting: ``"ExperimentalEnableHardenedMode": false`` | -| - **false**: **(Default)** Disables hardened mode. | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------+ +| This setting enables or disables hardened mode, which makes user experience trade-offs in the interest | - System Config path: **Experimental > Features** | +| of security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableHardenedMode``: ``false`` | +| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | +| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | | +| interest of security. | | +| - **false**: **(Default)** Disables hardened mode. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------+ Changes made when hardened mode is enabled: @@ -364,9 +370,9 @@ Enable theme selection :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"EnableThemeSelection": true`` | -| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | +| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ThemeSettings`` > ``EnableThemeSelection``: ``true`` | +| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | | their theme. | | | - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | | **Settings**. | | @@ -388,9 +394,9 @@ Allow custom themes :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"AllowCustomThemes": true`` | -| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | +| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowCustomThemes``: ``true`` | +| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | | - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | | hidden in **Settings**. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -410,8 +416,8 @@ Default theme +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"DefaultTheme": "default"`` | -| Options: ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | +| | - ``config.json`` setting: ``ThemeSettings`` > ``DefaultTheme``: ``"default"`` | +| Options include ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | +--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-tutorial @@ -427,8 +433,8 @@ Enable tutorial ~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ServiceSettings.EnableTutorial": true`` | +| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableTutorial``: ``true`` | | - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: N/A | | time after account creation. | | | - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | @@ -447,14 +453,14 @@ Enable tutorial Enable onboarding flow ~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ServiceSettings.EnableOnboardingFlow": true`` | -| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | -| onboarding. | | -| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | -| Mattermost for the first time after account creation. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ +| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableOnboardingFlow``: ``true`` | +| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | +| onboarding. | | +| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | +| Mattermost for the first time after account creation. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ .. config:setting:: enable-user-typing-messages :displayname: Enable user typing messages (Experimental) @@ -467,8 +473,8 @@ Enable user typing messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | -| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``"EnableUserTypingMessages": true`` | +| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | +| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserTypingMessages``: ``true`` | | | - Environment variable: N/A | | - **true**: **(Default)** "User is typing..." messages are displayed. | | | - **false**: "User is typing..." messages are not displayed. | | @@ -492,28 +498,29 @@ Enable user typing messages User typing timeout ~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"TimeBetweenUserTypingUpdatesMilliseconds": 5000`` | -| Numerical input. Default is **5000** milliseconds. | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------+---------------------------------------------------------------------------------+ +| This setting defines how frequently "user is typing..." | - System Config path: **Experimental > Features** | +| messages are updated, measured in milliseconds. | - ``config.json`` setting: ``ServiceSettings`` > ``TimeBetweenUserTypingUpdatesMilliseconds``: ``5000`` | +| | - Environment variable: N/A | +| Numerical input. Default is **5000** milliseconds. | | ++--------------------------------------------------------------+---------------------------------------------------------------------------------+ .. config:setting:: users-status-and-profile-fetching-poll-interval :displayname: User's status and profile fetching poll interval (Experimental) :systemconsole: Experimental > Features :configjson: UsersStatusAndProfileFetchingPollIntervalMilliseconds :environment: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS - :description: The number of milliseconds to wait between fetching user statuses and profiles periodically. Default is **3000** milliseconds. + :description: The number of milliseconds to wait between fetching user statuses and profiles periodically. Default is **3000** milliseconds. Set to **0** to disable. User's status and profile fetching poll interval ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | -| periodically. Set to ``0`` to disable. | - ``config.json`` setting: ``"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds": 3000`` | -| | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | -| Numerical input. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ +| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | +| periodically. Set to **0** to disable. | - ``config.json`` setting: ``ExperimentalSettings`` > ``UsersStatusAndProfileFetchingPollIntervalMilliseconds``: ``3000`` | +| | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | +| Numerical input. Default is **3000** milliseconds. Set to **0** to disable. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -529,20 +536,23 @@ User's status and profile fetching poll interval 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalPrimaryTeam": ""`` | -| If the team URL of the primary team is ``https://example.mattermost.com/myteam/``, then set the value to ``myteam`` in ``config.json``. | - Environment variable: N/A | -| | | -| String input. | | -+-----------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The primary team of which users on the server are members. | - System Config path: **Experimental > Features** | +| When a primary team is set, the options to join other teams or leave | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalPrimaryTeam``: ``""`` | +| the primary team are disabled. | - Environment variable: N/A | +| | | +| If the team URL of the primary team is ``https://example.mattermost.com/myteam/``, | | +| then set the value to **myteam** in ``config.json``. | | +| | | +| String input. | | ++------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-color :displayname: SAML login button color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonColor :environment: MM_SAMLSETTINGS_LOGINBUTTONCOLOR - :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#34a28b** SAML login button color ~~~~~~~~~~~~~~~~~~~~~~~ @@ -550,18 +560,20 @@ SAML login button color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonColor": "#34a28b"`` | -| String input. Default is **#34a28b**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code that begins with # before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonColor``: ``"#34a28b"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | +| | | +| String input. Default is **#34a28b**. | | ++------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-border-color :displayname: SAML login button border color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonBorderColor :environment: MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR - :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7**. SAML login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -569,18 +581,20 @@ SAML login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonBorderColor": "#2389D7"`` | -| String input. Default is **#2389D7**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR`` | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: saml-login-button-text-color :displayname: SAML login button text color (Experimental) :systemconsole: Experimental > Features :configjson: LoginButtonTextColor :environment: MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR - :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code that begins with # before the code. + :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#ffffff**. SAML login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -588,11 +602,13 @@ SAML login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile app. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"LoginButtonTextColor": "#ffffff"`` | -| String input. Default is **#ffffff**. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR`` | -+-------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the color of the SAML login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonTextColor``: ``"#ffffff"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR`` | +| | | +| String input. Default is **#ffffff**. | | ++-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: use-channel-name-in-email-notifications :displayname: Use channel name in email notifications (Experimental) @@ -607,8 +623,8 @@ Use channel name in email notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"UseChannelInEmailNotifications": false`` | +| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``UseChannelInEmailNotifications``: ``false`` | | - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: N/A | | using only one team. | | | - **false**: **(Default)** Only team name appears in email notification subject line. | | @@ -624,70 +640,104 @@ Use channel name in email notifications 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. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"UserStatusAwayTimeout": 300`` | -| Numerical input. Default is **300** seconds. | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting defines the number of seconds after which | - System Config path: **Experimental > Features** | +| the user's status indicator changes to **Away**, when they | - ``config.json`` setting: ``ServiceSettings`` > ``UserStatusAwayTimeout``: ``300`` | +| are away from Mattermost. | - Environment variable: N/A | +| | | +| Numerical input. Default is **300** seconds. | | ++-------------------------------------------------------------------+--------------------------------------------------------------------------+ + +.. config:setting:: disable-data-refetching-on-browser-refocus + :displayname: Disable data refetching on browser refocus (Experimental) + :systemconsole: Experimental > Features + :configjson: ExperimentalSettings.DisableRefetchingOnBrowserFocus + :environment: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS + :description: This setting disables re-fetching of channel and channel members on browser focus. -metadata missing + - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. + - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser regains focus. Disable data refetching on browser refocus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.DisableRefetchingOnBrowserFocus": false`` | -| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | -| This may result in improved performance for users with many channels and channel members. | | -| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | -| regains focus. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ +| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableRefetchingOnBrowserFocus``: ``false`` | +| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | +| This may result in improved performance for users with many channels and channel members. | | +| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | +| regains focus. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ + +.. config:setting:: disable-wake-up-reconnect-handler + :displayname: Disable wake up reconnect handler (Experimental) + :systemconsole: Experimental > Features + :configjson: ExperimentalSettings.DisableWakeUpReconnectHandler + :environment: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER + :description: This setting disables attempts to detect when the computer has woken up and refetch data. -metadata missing + - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. + - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes data. Disable wake up reconnect handler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.DisableWakeUpReconnectHandler": false`` | -| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | -| This might reduce the amount of regular network traffic the app is sending. | | -| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | -| data. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ +| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableWakeUpReconnectHandler``: ``false`` | +| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | +| This might reduce the amount of regular network traffic the app is sending. | | +| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | +| data. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ + +.. config:setting:: delay-channel-autocomplete + :displayname: Delay channel autocomplete (Experimental) + :systemconsole: Experimental > Features + :configjson: ExperimentalSettings.DelayChannelAutocomplete + :environment: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE + :description: This setting controls whether the channel link autocomplete triggers immediately when a tilde is typed when composing a message. -metadata missing + - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. + - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. Delay channel autocomplete ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | -| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``"ExperimentalSettings.DelayChannelAutocomplete": false`` | -| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | -| | | -| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | -| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | -| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | -| For example, typing ``~`` will show the autocomplete. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ +| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | +| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``ExperimentalSettings`` > ``DelayChannelAutocomplete``: ``false`` | +| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | +| | | +| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | +| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | +| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | +| For example, typing ``~`` will show the autocomplete. | | ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ + +.. config:setting:: youtube-referrer-policy + :displayname: YouTube referrer policy (Experimental) + :systemconsole: Experimental > Features + :configjson: ExperimentalSettings.YoutubeReferrerPolicy + :environment: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY + :description: This setting resolves issues where YouTube video previews display as unavailable. -metadata missing + - **true**: The referrer policy for embedded YouTube videos is set to ``strict-origin-when-cross-origin``. + - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy. YouTube referrer policy -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``"ExperimentalSettings.YoutubeReferrerPolicy": false`` | -| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | -| ``strict-origin-when-cross-origin``. | | -| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | -| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | -| sources in analytics tools. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ +| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``YoutubeReferrerPolicy``: ``false`` | +| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | +| ``strict-origin-when-cross-origin``. | | +| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | +| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | +| sources in analytics tools. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ ---- @@ -711,13 +761,20 @@ Access the following configuration settings in the System Console by going to ** Enable Bleve indexing ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve indexing is enabled for posts to support search functionality. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"EnableIndexing": false`` | -| - **true**: The indexing of new posts occurs automatically. Search queries will not use bleve search | - Environment variable: N/A | -| until :ref:`Enable Bleve for search queries ` is enabled. | | -| - **false**: **(Default)** The indexing of new posts does not occur automatically. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls whether Bleve indexing is | - System Config path: **Experimental > Bleve** | +| enabled for posts to support search functionality. | - ``config.json`` setting: ``BleveSettings`` > ``EnableIndexing``: ``false`` | +| | - Environment variable: N/A | +| - **true**: The indexing of new posts occurs | | +| automatically. | | +| | | +| - **false**: **(Default)** The indexing of new posts | | +| does not occur automatically. | | ++----------------------------------------------------------+--------------------------------------------------------------------------+ + +.. note:: + + Search queries won't use bleve search until the :ref:`Enable Bleve for search queries ` setting is enabled. .. config:setting:: index-directory :displayname: Index directory (Experimental) @@ -731,7 +788,7 @@ Index directory +-----------------------------------------------------------+--------------------------------------------------------------------------+ | Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``"IndexDir": ""`` | +| | - ``config.json`` setting: ``BleveSettings`` > ``IndexDir``: ``""`` | | String input. | - Environment variable: N/A | +-----------------------------------------------------------+--------------------------------------------------------------------------+ @@ -762,8 +819,8 @@ Enable Bleve for search queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | -| database search. | - ``config.json`` setting: ``"EnableSearching": false`` | +| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | +| database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableSearching``: ``false`` | | | - Environment variable: N/A | | - **true**: Search queries will use bleve search. | | | - **false**: **(Default)** Search queries will not use bleve search. | | @@ -782,8 +839,8 @@ Enable Bleve for autocomplete queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | -| default database search. | - ``config.json`` setting: ``"EnableAutocomplete": false`` | +| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | +| default database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableAutocomplete``: ``false`` | | | - Environment variable: N/A | | - **true**: Autocomplete queries will use bleve search. | | | - **false**: **(Default)** Autocomplete queries will not use bleve search. | | @@ -828,16 +885,16 @@ Enable audit logging .. include:: ../_static/badges/ent-cloud-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | -| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileEnabled: false`` | -| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | -| | | -| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | -| self-hosted deployment. | | -| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | -| to a file for a self-hosted deployment. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+ +| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | +| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileEnabled``: ``false`` | +| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | +| | | +| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | +| self-hosted deployment. | | +| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | +| to a file for a self-hosted deployment. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+ .. config:setting:: file-name :displayname: File name (Audit Logging > Self-Hosted) @@ -852,11 +909,11 @@ File name .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileName: ""`` | -| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileName``: ``""`` | +| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | ++---------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: max-file-size :displayname: File max size MB (Audit Logging > Self-Hosted) @@ -871,11 +928,12 @@ Max file size .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This is the maximum size, in megabytes, that the file can grow before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxSizeMB: 100`` | -| Numerical input. Default is **100** MB. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB | -+---------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------+------------------------------------------------------------------------------+ +| This is the maximum size, in megabytes, that the file can grow before | - System Config path: **Experimental > Features** | +| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxSizeMB``: ``100`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB | +| Numerical input. Default is **100** MB. | | ++----------------------------------------------------------------------------+------------------------------------------------------------------------------+ .. config:setting:: max-file-age :displayname: File max age days (Audit Logging > Self-Hosted) @@ -890,11 +948,12 @@ Max file age .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This is the maximum age, in days, a file can reach before triggering rotation for a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxAgeDays: 0`` | -| Numerical input. Default is **0** days (no limit). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------+-----------------------------------------------------------------------------+ +| This is the maximum age, in days, a file can reach before | - System Config path: **Experimental > Features** | +| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxAgeDays``: ``0`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | +| Numerical input. Default is **0** days (no limit). | | ++-------------------------------------------------------------------+-----------------------------------------------------------------------------+ .. config:setting:: maximum-file-backups :displayname: File max backups (Audit Logging > Self-Hosted) @@ -909,11 +968,12 @@ Maximum file backups .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxBackups: 0`` | -| Numerical input. Default is **0** (no limit). | - Environment variable: N/A | -+--------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------+-----------------------------------------------------------------------------+ +| This is the maximum number of rotated files kept for a | - System Config path: **Experimental > Features** | +| self-hosted deployment. The oldest is deleted first. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxBackups``: ``0`` | +| | - Environment variable: N/A | +| Numerical input. Default is **0** (no limit). | | ++--------------------------------------------------------------+-----------------------------------------------------------------------------+ .. config:setting:: file-compression :displayname: File compress (Audit Logging > Self-Hosted) @@ -928,12 +988,13 @@ File compression .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileCompress: false`` | -| - **true**: Rotated files are compressed using ``gzip``. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | -| - **false**: **(Default)** Rotated files are not compressed. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------+-------------------------------------------------------------------------------+ +| When ``true``, rotated files are compressed using | - System Config path: **Experimental > Features** | +| ``gzip`` in a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileCompress``: ``false`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | +| - **true**: Rotated files are compressed using ``gzip``. | | +| - **false**: **(Default)** Rotated files are not compressed. | | ++----------------------------------------------------------------+-------------------------------------------------------------------------------+ .. config:setting:: maximum-file-queue :displayname: File max queue size (Audit Logging > Self-Hosted) @@ -948,15 +1009,17 @@ Maximum file queue .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines how many audit records can be queued/buffered at any point in time when | - System Config path: **Experimental > Features** | -| writing to a file for a self-hosted deployment. | - ``config.json`` setting: ``.ExperimentalAuditSettings.FileMaxQueueSize: 1000`` | -| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | -| Numerical input. Default is **1000** records. | | -| | | -| This setting can be left as default unless you are seeing audit write failures in the server log and | | -| need to adjust the number accordingly. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------+----------------------------------------------------------------------------------+ +| This setting determines how many audit records can be | - System Config path: **Experimental > Features** | +| queued/buffered at any point in time when writing to a file | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxQueueSize``: ``1000`` | +| for a self-hosted deployment. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | +| | | +| 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. .. config:setting:: audit-logging-certificate :displayname: Audit logging certificate upload (Audit Logging > Cloud Enterprise) @@ -1016,20 +1079,22 @@ Allowed themes :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting isn't available in the System Console and can only be set in ``config.json``. | - System Config path: N/A | -| | - ``config.json`` setting: ``"AllowedThemes": []`` | -| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - Environment variable: N/A | -| | | -| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | | +| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - System Config path: N/A | +| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowedThemes`` | +| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | - Environment variable: N/A | | and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: file-location :displayname: File location (Experimental) :systemconsole: N/A :configjson: FileLocation :environment: N/A - :description: Set the file location of the compliance exports. Default value is **export**. + :description: Set the file location of the compliance exports. By default, they are written to the ``exports`` subdirectory of the configured Local Storage directory. File Location ~~~~~~~~~~~~~ @@ -1037,15 +1102,18 @@ File Location .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set the file location of the compliance exports. By default, they are written to the ``exports`` | - System Config path: N/A | -| subdirectory of the configured :ref:`Local Storage directory `. | - ``config.json`` setting: ``"FileLocation": "export"`` | -| | - Environment variable: N/A | +| Set the file location of the compliance exports. By default, they are written to the ``exports`` | - System Config path: N/A | +| subdirectory of the configured | - ``config.json`` setting: ``ComplianceSettings`` > ``FileLocation`` | +| :ref:`Local Storage directory `. | - Environment variable: N/A | +| | | | String input. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: push-notification-buffer :displayname: Push notification buffer (Experimental) :systemconsole: N/A @@ -1056,31 +1124,34 @@ This setting isn't available in the System Console and can only be set in ``conf Push notification buffer ~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -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. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Used to control the buffer of outstanding Push Notification messages to be sent. If the number of | - System Config path: N/A | +| messages exceeds that number, then the request making the Push Notification will be blocked until | - ``config.json`` setting: ``EmailSettings`` > ``PushNotificationBuffer`` | +| there's room. | - Environment variable: N/A | +| | | +| Numerical input. Default is **1000** notifications. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -+---------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature’s ``config.json`` setting is ``"PushNotificationBuffer": 1000`` | -| Numerical input. | - Environment variable: N/A | -+---------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: restrict-system-admin - :displayname: File configuration settings + :displayname: Restrict system admin (Experimental) :systemconsole: N/A - :configjson: FileEnabled + :configjson: RestrictSystemAdmin :environment: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN - :description: Enable this setting to write audit files locally, specifying size, backup interval, compression, maximum age to manage file rotation, and timestamps. Default value is **false**. + :description: Restricts the system admin from viewing and modifying a subset of server configuration settings from the System Console. + + - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying a subset of server configuration settings. + - **false**: **(Default for self-hosted deployments)** No restrictions are applied to the system admin role. Restrict system admin ~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | -| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``"RestrictSystemAdmin": "false"`` | -| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | +| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``ExperimentalSettings`` > ``RestrictSystemAdmin`` | +| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | | admin role to users but restricting certain actions only for Cloud Admins. | | | - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | | role. | | @@ -1088,7 +1159,8 @@ This setting isn't available in the System Console and can only be set in ``conf .. note:: - The ability to restrict the system admin from viewing and modifying a subset of server configuration settings is currently in :ref:`Beta `. + - 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 :ref:`Beta `. .. config:setting:: enable-client-side-certification @@ -1107,9 +1179,12 @@ Enable client-side certification :start-after: :nosearch: +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | - System Config path: N/A | -| ` to learn more. | - ``config.json`` setting: ``"ClientSideCertEnable": false`` | -| - **false**: **(Default)** Client-side certification is disabled. | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | +| This setting controls whether client-side certificate authentication is enabled for your Mattermost | - System Config path: N/A | +| server. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertEnable`` | +| | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | +| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | | +| ` to learn more. | | +| - **false**: **(Default)** Client-side certification is disabled. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: client-side-certification-login-method @@ -1129,8 +1204,8 @@ Client-side certification login method +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | -| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``"ClientSideCertCheck": "secondary"`` | -| | - Environment variable: N/A | +| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertCheck`` | +| | - Environment variable: ``MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTCHECK`` | | - **primary**: After the client side certificate is verified, user's email is retrieved from the | | | certificate and is used to log in without a password. | | | - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | @@ -1148,17 +1223,19 @@ Client-side certification login method Export output directory ~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - 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 ``FileSettings`` | - System Config path: N/A | -| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``.ExportSettings.Directory: ./export`` | +| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``ExportSettings`` > ``Directory`` | | | - Environment variable: N/A | | String input. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: export-retention-days :displayname: Export retention days (Experimental) :systemconsole: N/A @@ -1169,16 +1246,18 @@ The directory where the exported files are stored. The path is relative to the ` Export retention days ~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - The number of days to retain the exported files before deleting them. +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | The number of days to retain the exported files before deleting them. | - System Config path: N/A | -| | - ``config.json`` setting: ``.ExportSettings.RetentionDays: 30`` | +| | - ``config.json`` setting: ``ExportSettings`` > ``RetentionDays`` | | Numerical input. | - Environment variable: N/A | +-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: maximum-image-resolution :displayname: Maximum image resolution (Experimental) :systemconsole: N/A @@ -1189,16 +1268,18 @@ The number of days to retain the exported files before deleting them. Maximum image resolution ~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - Maximum image resolution size for message attachments in pixels. +----------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | -| | - ``config.json`` setting: ``"MaxImageResolution": 33177600`` | -| Numerical input. | - Environment variable: N/A | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageResolution`` | +| Numerical input. Default value is **33177600** pixels. | - Environment variable: N/A | +----------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: maximum-image-decoder-concurrency :displayname: Maximum image decoder concurrency (Experimental) :systemconsole: N/A @@ -1209,23 +1290,22 @@ Maximum image resolution size for message attachments in pixels. Maximum image decoder concurrency ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - 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. -.. note:: - - - 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 <#maximum-image-resolution>`_ configuration setting to adjust the amount of memory needed for image processing. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Indicates how many images can be decoded concurrently at once. The default value of ``-1`` configures | - System Config path: N/A | -| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``"MaxImageDecoderConcurrency": "-1"`` | +| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageDecoderConcurrency`` | | | - Environment variable: N/A | | 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 <#maximum-image-resolution>`_ configuration setting to adjust the amount of memory needed for image processing. + .. config:setting:: initial-font :displayname: Initial font (Experimental) :systemconsole: N/A @@ -1236,16 +1316,18 @@ Indicates how many images can be decoded concurrently at once. The default value Initial font ~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - Font used in auto-generated profile pics with colored backgrounds. +-------------------------------------------------------------------------+--------------------------------------------------------------------------+ | Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | -| | - ``config.json`` setting: ``"InitialFont": "luximbi.ttf"`` | -| String input. | - Environment variable: N/A | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``InitialFont`` | +| String input. Default value is **luximbi.ttf**. | - Environment variable: N/A | +-------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: amazon-s3-signature-v2 :displayname: Amazon S3 signature v2 (Experimental) :systemconsole: N/A @@ -1258,53 +1340,75 @@ Font used in auto-generated profile pics with colored backgrounds. Amazon S3 signature v2 ~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------+--------------------------------------------------------------------------+ +| This setting controls which AWS signature version is | - System Config path: N/A | +| used for signing API calls to Amazon S3. By | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3SignV2`` | +| default, Mattermost uses Signature V4 to sign API calls | - Environment variable: N/A | +| to AWS, but under some circumstances, V2 is | | +| required. | | +| | | +| - **true**: Use Signature Version 2 Signing Process. | | +| - **false**: **(Default)** Use Signature Version 4 | | +| Signing Process. | | ++----------------------------------------------------------------+--------------------------------------------------------------------------+ + +.. note:: -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls which AWS signature version is used for signing API calls to Amazon S3. By | - System Config path: N/A | -| default, Mattermost uses Signature V4 to sign API calls to AWS, but under some circumstances, V2 is | - ``config.json`` setting: ``"AmazonS3SignV2": false`` | -| required. For more information about when to use V2, see https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html. | - Environment variable: N/A | -| | | -| - **true**: Use Signature Version 2 Signing Process. | | -| - **false**: **(Default)** Use Signature Version 4 Signing Process. | | -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + - 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. .. config:setting:: amazon-s3-path :displayname: Amazon S3 path (Experimental) :systemconsole: N/A :configjson: AmazonS3PathPrefix - :environment: N/A - :description: Allows using the same S3 bucket for multiple deployments. + :environment: MM_FILESETTINGS_AMAZONS3PATHPREFIX + :description: Specifies a subdirectory prefix within your S3 bucket where Mattermost stores files. Default value is an empty string. Amazon S3 path ~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The AmazonS3PathPrefix config setting specifies a subdirectory prefix within your S3 bucket where | - System Config path: N/A | +| Mattermost stores files. | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3PathPrefix`` | +| | - Environment variable: ``MM_FILESETTINGS_AMAZONS3PATHPREFIX`` | +| 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 **("")**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Allows using the same S3 bucket for multiple deployments. +.. note:: -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature’s ``config.json`` setting is ``"AmazonS3PathPrefix": ""`` | -| String input. | - Environment variable: N/A | -+------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: gitlab-scope :displayname: GitLab scope (Experimental) :systemconsole: N/A :configjson: Scope - :environment: N/A - :description: Standard setting for OAuth to determine the scope of information shared with OAuth client. Not currently supported by GitLab OAuth. + :environment: MM_GITLABSETTINGS_SCOPE + :description: Controls OAuth scopes for GitLab authentication. Becomes experimental when it contains "openid" to enable OpenID Connect functionality. Default is empty string. GitLab scope ~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The GitLab scope experimental config setting controls OAuth scopes for GitLab authentication. | - System Config path: N/A | +| | - ``config.json`` setting: ``GitLabSettings`` > ``Scope`` | +| Possible values: | - Environment variable: ``MM_GITLABSETTINGS_SCOPE`` | +| | | +| - Empty string **("")** - Standard OAuth 2.0 flow | | +| - **"profile openid email"** - Enables experimental OpenID Connect features | | +| - Any custom OAuth scope string | | +| | | +| 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 **("")**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Standard setting for OAuth to determine the scope of information shared with OAuth client. Not currently supported by GitLab OAuth. +.. note:: -+------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"Scope": ""`` with string input. | -+------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: global-relay-smtp-server-timeout :displayname: Global relay SMTP server timeout (Experimental) @@ -1319,13 +1423,16 @@ Global relay SMTP server timeout .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++---------------------------------------------------------+--------------------------------------------------------------------------------+ +| The number of seconds that can elapse before the | - System Config path: N/A | +| connection attempt to the SMTP server is abandoned. | - ``config.json`` setting: ``GlobalRelaySettings`` > ``SMTPServerTimeout`` | +| | - Environment variable: N/A | +| Numerical input. Default is **1800** seconds. | | ++---------------------------------------------------------+--------------------------------------------------------------------------------+ -The number of seconds that can elapse before the connection attempt to the SMTP server is abandoned. The default value is 1800 seconds. This setting is currently not available in the System Console and can only be set in ``config.json``. +.. note:: -+-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"GlobalRelaySettings.SMTPServerTimeout": "1800"`` with numerical input. | -+-----------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: google-scope :displayname: Google scope (Experimental) @@ -1340,13 +1447,17 @@ Google scope .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++-----------------------------------------------------------+--------------------------------------------------------------------------+ +| Standard setting for OAuth to determine the scope of | - System Config path: N/A | +| information shared with OAuth client. Recommended | - ``config.json`` setting: ``GoogleSettings`` > ``Scope`` | +| setting is ``profile email``. | - Environment variable: N/A | +| | | +| String input. Default is **profile email**. | | ++-----------------------------------------------------------+--------------------------------------------------------------------------+ -Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended setting is ``profile email``. +.. note:: -+-------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"Scope": "profile email"`` with string input. | -+-------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: import-input-directory :displayname: Import input directory (Experimental) @@ -1358,13 +1469,18 @@ Standard setting for OAuth to determine the scope of information shared with OAu Import input directory ~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------+--------------------------------------------------------------------------+ +| The directory where the imported files are stored. | - System Config path: N/A | +| The path is relative to the ``FileSettings`` | - ``config.json`` setting: ``ImportSettings`` > ``Directory`` | +| directory. By default, imports are stored | - Environment variable: N/A | +| under ``./data/import``. | | +| | | +| String input. Default is **./import**. | | ++----------------------------------------------------------+--------------------------------------------------------------------------+ -The directory where the imported files are stored. The path is relative to the ``FileSettings`` directory. By default, imports are stored under ``./data/import``. +.. note:: -+---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature's ``config.json`` setting under the ``ImportSettings`` section is ``Directory: ./import`` with string input. | -+---------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: import-retention-days :displayname: Import retention days (Experimental) @@ -1376,13 +1492,15 @@ The directory where the imported files are stored. The path is relative to the ` Import retention days ~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++---------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The number of days to retain the imported files before deleting them. | - System Config path: N/A | +| | - ``config.json`` setting: ``ImportSettings`` > ``RetentionDays`` | +| Numerical input. Default is **30** days. | - Environment variable: N/A | ++---------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -The number of days to retain the imported files before deleting them. +.. note:: -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This feature's ``config.json`` setting under the ``ImportSettings`` section is ``RetentionDays: 30`` with numerical input. | -+----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: export-from-timestamp :displayname: Export from timestamp (Experimental) @@ -1397,13 +1515,15 @@ Export from timestamp .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Set the Unix timestamp (seconds since epoch, UTC) to export data from. | - System Config path: N/A | +| | - ``config.json`` setting: ``ExportSettings`` > ``ExportFromTimestamp`` | +| Numerical input. Default is **0**. | - Environment variable: N/A | ++-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Set the Unix timestamp (seconds since epoch, UTC) to export data from. +.. note:: -+----------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExportFromTimestamp": 0`` with numerical input. | -+----------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: block-profile-rate :displayname: Block profile rate (Experimental) @@ -1418,17 +1538,20 @@ Set the Unix timestamp (seconds since epoch, UTC) to export data from. Block profile rate ~~~~~~~~~~~~~~~~~~ -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. - -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. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Value that controls the `fraction of goroutine blocking events reported in the blocking profile | - System Config path: N/A | +| `_. The profiler aims to sample an average of one | - ``config.json`` setting: ``ServiceSettings`` > ``BlockProfileRate`` | +| blocking event per rate nanoseconds spent blocked. | - Environment variable: N/A | +| | | +| To include every blocking event in the profile, set the rate to ``1``. To turn off profiling entirely, | | +| set the rate to ``0``. | | +| | | +| Numerical input with options ``0`` and ``1``. Default is **0**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -To include every blocking event in the profile, set the rate to ``1``. To turn off profiling entirely, set the rate to ``0``. +.. note:: -+---------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"BlockProfileRate": 0`` with options ``0`` and ``1``. | -+---------------------------------------------------------------------------------------------------+ + 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. .. config:setting:: entra-id-scope :displayname: Entra ID scope (Experimental) @@ -1443,13 +1566,16 @@ Entra ID Scope .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended | - System Config path: N/A | +| setting is ``User.Read``. | - ``config.json`` setting: ``Office365Settings`` > ``Scope`` | +| | - Environment variable: N/A | +| String input. Default is **User.Read**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended setting is ``User.Read``. +.. note:: -+---------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"Scope": "User.Read"`` with string input. | -+---------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: enable-plugin-uploads :displayname: Enable plugin uploads (Experimental) @@ -1463,16 +1589,20 @@ Standard setting for OAuth to determine the scope of information shared with OAu Enable plugin uploads ~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - System Config path: N/A | -| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | - ``config.json`` setting: ``"EnableUploads": false`` | -| `documentation `__ to | - Environment variable: N/A | +| This setting controls whether system administrators can upload plugins through the System Console. | - System Config path: N/A | +| | - ``config.json`` setting: ``PluginSettings`` > ``EnableUploads`` | +| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - Environment variable: N/A | +| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | | +| `documentation `__ to | | | learn more. | | | - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: + + This setting isn't available in the System Console and can only be set in ``config.json``. + .. config:setting:: allow-insecure-download-url :displayname: Allow insecure download URL (Experimental) :systemconsole: N/A @@ -1488,9 +1618,10 @@ Allow insecure download URL This setting isn't available in the System Console and can only be set in ``config.json``. +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables downloading and installing a plugin from a remote URL. | - System Config path: N/A | -| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | - ``config.json`` setting: ``"AllowInsecureDownloadUrl": false`` | -| | - Environment variable: N/A | +| This setting controls whether plugins can be downloaded and installed from remote URLs. | - System Config path: N/A | +| | - ``config.json`` setting: ``PluginSettings`` > ``AllowInsecureDownloadUrl`` | +| - **true**: Enables downloading and installing a plugin from a remote URL. | - Environment variable: N/A | +| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: enable-plugin-health-check @@ -1509,7 +1640,7 @@ This setting isn't available in the System Console and can only be set in ``conf +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | -| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``"EnableHealthCheck": true`` | +| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``PluginSettings`` > ``EnableHealthCheck`` | | If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: N/A | | it. If the restart fails 3 successive times, it's automatically disabled. | | | - **false**: Disables plugin health check on your Mattermost server. | | @@ -1525,13 +1656,16 @@ This setting isn't available in the System Console and can only be set in ``conf Plugin directory ~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The location of the plugin files. If blank, they are stored in the ``./plugins`` directory. The path | - System Config path: N/A | +| that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``Directory`` | +| | - Environment variable: N/A | +| String input. Default is **./plugins**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -The location of the plugin files. If blank, they are stored in the ``./plugins`` directory. The path that you set must exist and Mattermost must have write permissions in it. +.. note:: -+-----------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"Directory": "./plugins"`` with string input. | -+-----------------------------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: client-plugin-directory :displayname: Client plugin directory (Experimental) @@ -1543,13 +1677,16 @@ The location of the plugin files. If blank, they are stored in the ``./plugins`` Client plugin directory ~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The location of client plugin files. If blank, they are stored in the ``./client/plugins`` directory. | - System Config path: N/A | +| The path that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``ClientDirectory`` | +| | - Environment variable: N/A | +| String input. Default is **./client/plugins**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -The location of client plugin files. If blank, they are stored in the ``./client/plugins`` directory. The path that you set must exist and Mattermost must have write permissions in it. +.. note:: -+-----------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ClientDirectory": "./client/plugins"`` with string input. | -+-----------------------------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: scoping-idp-provider-id :displayname: Scoping IDP provider ID (Experimental) @@ -1564,13 +1701,16 @@ Scoping IDP provider ID .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Allows an authenticated user to skip the initial login page of their federated Azure AD server, and | - System Config path: N/A | +| only require a password to log in. | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPProviderId`` | +| | - Environment variable: N/A | +| String input. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Allows an authenticated user to skip the initial login page of their federated Azure AD server, and only require a password to log in. +.. note:: -+---------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ScopingIDPProviderId": ""`` with string input. | -+---------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: scoping-idp-provider-name :displayname: Scoping IDP provider name (Experimental) @@ -1585,40 +1725,46 @@ Scoping IDP provider name .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Adds the name associated with a user's Scoping Identity Provider ID. | - System Config path: N/A | +| | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPName`` | +| String input. | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Adds the name associated with a user's Scoping Identity Provider ID. +.. note:: -+---------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ScopingIDPName": ""`` with string input. | -+---------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: group-unread-channels :displayname: Group unread channels (Experimental) :systemconsole: N/A :configjson: ExperimentalGroupUnreadChannels :environment: MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS - - - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. Users can enable it in **Settings > Sidebar > Group unread channels separately**. - - **default_on**: Enables the unread channels sidebar section for all users by default. Users can disable it in **Settings > Sidebar > Group unread channels separately**. + :description: Controls whether unread channels are grouped separately in the sidebar. Default is "disabled". Group unread channels ~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar ` configuration setting to see and enable this functionality in the System Console. ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ +| The ExperimentalGroupUnreadChannels config setting controls whether unread channels are grouped | - System Config path: N/A | +| separately in the sidebar. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalGroupUnreadChannels`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | +| Possible values: | | +| | | +| - **"disabled"** - Unread channels grouping is disabled | | +| - **"default_on"** - Enabled by default for new users | | +| - **"default_off"** - Available but disabled by default for new users | | +| | | +| This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar | | +| ` configuration setting to see and | | +| enable this functionality in the System Console. | | +| | | +| String input. Default is **"disabled"**. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **default_off**: **(Default)** Disables the unread channels sidebar section for all users by default. | - System Config path: N/A | -| Users can enable it in **Settings > Sidebar > Group unread channels separately**. | - ``config.json`` setting: ``"ExperimentalGroupUnreadChannels"`` | -| - **default_on**: Enables the unread channels sidebar section for all users by default. Users can | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | -| disable it in **Settings > Sidebar > Group unread channels separately**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +.. note:: -based on code: -Default: "disabled" - - Possible Values: "disabled", "default_on", "default_off" + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: strict-csrf-token-enforcement :displayname: Strict CSRF token enforcement (Experimental) @@ -1634,36 +1780,46 @@ Strict CSRF token enforcement This setting isn't available in the System Console and can only be set in ``config.json``. -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | - System Config path: N/A | -| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | - ``config.json`` setting: ``"ExperimentalStrictCSRFEnforcement"`` | -| - **false**: **(Default)** Disables CSRF protection tokens. | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| This setting controls whether additional CSRF (Cross-Site Request Forgery) protection tokens are used | - System Config path: N/A | +| for enhanced security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalStrictCSRFEnforcement`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | +| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | | +| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | | +| - **false**: **(Default)** Disables CSRF protection tokens. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ .. config:setting:: developer-flags :displayname: Developer flags (Experimental) :systemconsole: N/A :configjson: DeveloperFlags - :environment: N/A - :description: This configuration setting specifies a list of strings where each string is a flag used to set the content security policy (CSP) for the Mattermost Web App. + :environment: MM_SERVICESETTINGS_DEVELOPERFLAGS + :description: Controls Content Security Policy (CSP) directives for debugging purposes. Requires developer mode to be enabled. Default is empty string. Developer flags ~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -This configuration setting specifies a list of strings where each string is a flag used to set the content security policy (CSP) for the Mattermost Web App. Each flag must be in the format ``flag=true`` (e.g. ``unsafe-eval=true,unsafe-inline=true``). Not recommended for production environments. - -The following values are currently supported: - -- ``unsafe-eval``: Adds the ``unsafe-eval`` CSP directive to the root webapp, allowing increased debugging in developer environments. -- ``unsafe-inline``: Adds the ``unsafe-inline`` CSP directive to the root webapp, allowing increased debugging in developer environments. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The DeveloperFlags config setting controls Content Security Policy (CSP) directives for debugging | - System Config path: N/A | +| purposes. | - ``config.json`` setting: ``ServiceSettings`` > ``DeveloperFlags`` | +| | - Environment variable: ``MM_SERVICESETTINGS_DEVELOPERFLAGS`` | +| Possible values: Comma-separated key-value pairs in format key=value: | | +| | | +| - **"unsafe-eval=true"** - Allows eval() functions for faster source maps | | +| - **"unsafe-inline=true"** - Allows inline scripts/styles for React/Redux DevTools | | +| - **"unsafe-eval=true,unsafe-inline=true"** - Enables both flags | | +| | | +| Only flags set to "true" are honored, and unrecognized flags generate warning logs. | | +| | | +| This configuration setting requires :ref:`developer mode | | +| ` to be enabled. | | +| | | +| String input. Default is empty string **("")**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -This configuration setting is disabled by default and requires :ref:`developer mode ` to be enabled. +.. note:: -+----------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"DeveloperFlags": ""`` with string input. | -+----------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: enable-post-search :displayname: Enable post search (Experimental) @@ -1675,18 +1831,16 @@ This configuration setting is disabled by default and requires :ref:`developer m Enable post search ~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -If this setting is enabled, users can search for messages in their Mattermost instance. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | -| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``"EnablePostSearch": true`` | +| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``ServiceSettings`` > ``EnablePostSearch`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. 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. @@ -1694,7 +1848,7 @@ If this setting is enabled, users can search for messages in their Mattermost in - 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. + - 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. .. config:setting:: enable-file-search :displayname: Enable file search (Experimental) @@ -1706,26 +1860,23 @@ If this setting is enabled, users can search for messages in their Mattermost in Enable file search ~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -.. important:: - - 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 :ref:`Enable Document Search by Content ` documentation for details. Document content search is available in Mattermost Server from v5.35, with mobile support coming soon. - +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | -| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``"EnableFileSearch": true`` | +| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableFileSearch`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: - Disabling this experimental configuration setting in larger deployments may improve server performance in the following areas: + - 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 :ref:`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. + - 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. .. config:setting:: enable-user-status-updates :displayname: Enable user status updates (Experimental) @@ -1743,7 +1894,7 @@ Turn status updates off to improve performance. When status updates are off, use +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | -| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``"EnableUserStatuses": true`` | +| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserStatuses`` | | online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: N/A | | the message is posted. | | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1758,15 +1909,20 @@ Turn status updates off to improve performance. When status updates are off, use Websocket secure port ~~~~~~~~~~~~~~~~~~~~~ -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. - -(Optional) This setting defines the port on which the secured WebSocket is listening using the ``wss`` protocol. Defaults to ``443``. When the client attempts to make a WebSocket connection it first checks to see if the page is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER HTTPS AND WSS. - -+------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"WebsocketSecurePort": 443`` with numerical input. | -+------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| (Optional) This setting defines the port on which the secured WebSocket is listening using the ``wss`` | - System Config path: N/A | +| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketSecurePort`` | +| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: N/A | +| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | +| HTTPS AND WSS. | | +| | | +| 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 :ref:`Web server listen address ` setting. .. config:setting:: websocket-port @@ -1779,17 +1935,20 @@ This setting isn't available in the System Console and can only be set in ``conf Websocket port ~~~~~~~~~~~~~~ -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. - -(Optional) This setting defines the port on which the unsecured WebSocket is listening using the ``ws`` protocol. Defaults to ``80``. When the client attempts to make a WebSocket connection it first checks to see if the page is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER HTTPS AND WSS. - -+----------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``WebsocketPort": 80`` with numerical input. | -+----------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| (Optional) This setting defines the port on which the unsecured WebSocket is listening using the ``ws`` | - System Config path: N/A | +| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketPort`` | +| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: N/A | +| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | +| HTTPS AND WSS. | | +| | | +| Numerical input. Default is **80**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: - This is a client only override that doesn't affect the listening port of the server process which is controlled by the :ref:`Web server listen address ` setting. + - 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 :ref:`Web server listen address ` setting. .. config:setting:: enable-local-mode-for-mmctl :displayname: Enable local mode for mmctl (Experimental) @@ -1806,9 +1965,11 @@ Enable local mode for mmctl This setting isn't available in the System Console and can only be set in ``config.json``. +--------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: Enables local mode for mmctl. | - System Config path: N/A | -| - **false**: **(Default)** Prevents local mode for mmctl. | - ``config.json`` setting: ``"EnableLocalMode": false`` | +| This setting controls whether mmctl can connect to the server | - System Config path: N/A | +| using local mode through a socket connection. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableLocalMode`` | | | - Environment variable: N/A | +| - **true**: Enables local mode for mmctl. | | +| - **false**: **(Default)** Prevents local mode for mmctl. | | +--------------------------------------------------------------------+--------------------------------------------------------------------------+ .. tip:: @@ -1825,15 +1986,21 @@ This setting isn't available in the System Console and can only be set in ``conf Enable local mode socket location ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -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 ``--local-socket-path /new/path/to/socket`` flag in addition to the ``--local`` flag. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| The path for the socket that the server will create for mmctl to connect and communicate through local | - System Config path: N/A | +| mode. If the default value for this key is changed, you will need to point mmctl to the new socket | - ``config.json`` setting: ``ServiceSettings`` > ``LocalModeSocketLocation`` | +| path when in local mode, using the ``--local-socket-path /new/path/to/socket`` flag in addition to | - Environment variable: N/A | +| the ``--local`` flag. | | +| | | +| If nothing is specified, the default path that both the server and mmctl assumes is | | +| ``/var/tmp/mattermost_local.socket``. | | +| | | +| String input. Default is **/var/tmp/mattermost_local.socket**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -If nothing is specified, the default path that both the server and mmctl assumes is ``/var/tmp/mattermost_local.socket``. +.. note:: -+--------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"LocalModeSocketLocation": "/var/tmp/mattermost_local.socket"`` with string input. | -+--------------------------------------------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: default-channels :displayname: Default channels (Experimental) @@ -1845,19 +2012,20 @@ If nothing is specified, the default path that both the server and mmctl assumes Default channels ~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. - -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 ``town-square`` channel by default. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Default channels every user is added to automatically after joining a new team. Only applies to Public | - System Config path: N/A | +| channels, but affects all teams on the server. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalDefaultChannels`` | +| | - Environment variable: N/A | +| When not set, every user is added to the ``town-square`` channel by default. | | +| | | +| String array input consisting of channel names, such as ``["announcement", "developers"]``. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. note:: - Even if ``town-square`` isn't listed, every user is added to that channels automatically when joining a new team. - -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"ExperimentalDefaultChannels": []`` with string array input consisting of channel names, such as ``["announcement", "developers"]``. | -+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + 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. ---- @@ -1891,7 +2059,7 @@ When running Mattermost in :doc:`High Availablity mode ``RunJobs`` | | | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1913,11 +2081,11 @@ When running Mattermost in :doc:`High Availablity mode ``RunScheduler`` | | - **false**: This Mattermost server will not schedule tasks that will be completed by a Worker. | - Environment variable: N/A | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ @@ -1931,13 +2099,16 @@ When running Mattermost in :doc:`High Availablity mode ``CleanupJobsThresholdDays`` | +| | - Environment variable: N/A | +| Numerical input. Default is **-1** (disabled). | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -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 ``0`` to be enabled. +.. note:: -+--------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"JobSettings.CleanupJobsThresholdDays": -1`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------+ + This setting isn't available in the System Console and can only be set in ``config.json``. .. config:setting:: clean-up-outdated-database-entries :displayname: Clean up outdated database entries (Experimental) @@ -1949,10 +2120,12 @@ Defines the threshold in days beyond which older completed database jobs are rem Clean up outdated database entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting only applies to configuration in the database. It isn't available in the System Console and can be set via mmctl or changed in the database. ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ +| Defines the threshold in days beyond which outdated configurations are removed from the database. | - System Config path: N/A | +| | - ``config.json`` setting: ``JobSettings`` > ``CleanupConfigThresholdDays`` | +| Numerical input. Default is **30** days. | - Environment variable: N/A | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -Defines the threshold in days beyond which outdated configurations are removed from the database. +.. note:: -+--------------------------------------------------------------------------------------------------------------------+ -| This feature's ``config.json`` setting is ``"JobSettings.CleanupConfigThresholdDays": 30`` with numerical input. | -+--------------------------------------------------------------------------------------------------------------------+ + This setting only applies to configuration in the database. It isn't available in the System Console and can be set via mmctl. From 4f9fa235e79e7dec872269afc93299acd324770d Mon Sep 17 00:00:00 2001 From: "Carrie Warner (Mattermost)" <74422101+cwarnermm@users.noreply.github.com> Date: Thu, 17 Jul 2025 16:25:52 -0400 Subject: [PATCH 6/6] Final formatting updates for consistency --- .../experimental-configuration-settings.rst | 1469 +++++++++-------- 1 file changed, 735 insertions(+), 734 deletions(-) diff --git a/source/configure/experimental-configuration-settings.rst b/source/configure/experimental-configuration-settings.rst index 4c3e3f9ba00..50a4b87b0af 100644 --- a/source/configure/experimental-configuration-settings.rst +++ b/source/configure/experimental-configuration-settings.rst @@ -27,25 +27,25 @@ Experimental System Console configuration settings .. config:setting:: adldap-login-button-color :displayname: AD/LDAP login button color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonColor + :configjson: LdapSettings.LoginButtonColor :environment: MM_LDAPSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#0000**. AD/LDAP login button color ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonColor``: ``"#0000"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONCOLOR`` | -| | | -| String input. Default is **#0000**. | | -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonColor`` > ``"#0000"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONCOLOR`` | +| | | +| String input. Default is **#0000**. | | ++-------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-border-color :displayname: AD/LDAP login button border color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonBorderColor + :configjson: LdapSettings.LoginButtonBorderColor :environment: MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** @@ -55,18 +55,18 @@ AD/LDAP login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR`` | -| | | -| String input. Default is **#2389D7**. | | -+---------------------------------------------------------------------------------------+-------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonBorderColor`` > ``"#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONBORDERCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++---------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ .. config:setting:: adldap-login-button-text-color :displayname: AD/LDAP login button text color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonTextColor + :configjson: LdapSettings.LoginButtonTextColor :environment: MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** @@ -76,18 +76,18 @@ AD/LDAP login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the AD/LDAP login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonTextColor``: ``"#2389D7"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR`` | -| | | -| String input. Default is **#2389D7**. | | -+--------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ +| Specify the color of the AD/LDAP login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``LdapSettings`` > ``LoginButtonTextColor`` > ``"#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_LDAPSETTINGS_LOGINBUTTONTEXTCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++--------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ .. config:setting:: change-authentication-method :displayname: Change authentication method (Experimental) :systemconsole: Experimental > Features - :configjson: ExperimentalEnableAuthenticationTransfer + :configjson: ServiceSettings.ExperimentalEnableAuthenticationTransfer :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER - **true**: **(Default)** Users can change their sign-in method to any that is enabled on the server, either via their Profile or the APIs. @@ -99,50 +99,50 @@ Change authentication method .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ -| This setting controls whether users can change their authentication method to any method | - System Config path: **Experimental > Features** | -| that is enabled on the server. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAuthenticationTransfer``: ``true`` | -| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER | -| - **True**: Users can change their sign-in method to any that is enabled on the server, | | -| either via their Profile or the APIs. | | -| - **False**: Users can't change their sign-in method, regardless of which authentication | | -| options are enabled. | | -+----------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ +| This setting controls whether users can change their authentication method to any method | - System Config path: **Experimental > Features** | +| that is enabled on the server. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAuthenticationTransfer`` > ``true`` | +| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEAUTHENTICATIONTRANSFER | +| - **True**: Users can change their sign-in method to any that is enabled on the server, | | +| either via their Profile or the APIs. | | +| - **False**: Users can't change their sign-in method, regardless of which authentication | | +| options are enabled. | | ++----------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+ .. config:setting:: link-metadata-timeout :displayname: Link metadata timeout (Experimental) :systemconsole: Experimental > Features - :configjson: LinkMetadataTimeoutMilliseconds + :configjson: ServiceSettings.LinkMetadataTimeoutMilliseconds :environment: MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS :description: Adds a configurable timeout for requests made to return link metadata. Must be a value greater than **0**. Default is **5000** milliseconds. Link metadata timeout ~~~~~~~~~~~~~~~~~~~~~ -+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | -| If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``ExperimentalSettings`` > ``LinkMetadataTimeoutMilliseconds``: ``5000`` | -| will be posted without requiring metadata. This timeout covers the failure | - Environment variable: ``MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS`` | -| cases of broken URLs and bad content types on slow network connections. | | -| | | -| Numerical input. Default is **5000** milliseconds. | | -+-----------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+ +| Adds a configurable timeout for requests made to return link metadata. | - System Config path: **Experimental > Features** | +| If the metadata is not returned before this timeout expires, the message | - ``config.json`` setting: ``ExperimentalSettings`` > ``LinkMetadataTimeoutMilliseconds`` > ``5000`` | +| will be posted without requiring metadata. This timeout covers the failure | - Environment variable: ``MM_EXPERIMENTALSETTINGS_LINKMETADATATIMEOUTMILLISECONDS`` | +| cases of broken URLs and bad content types on slow network connections. | | +| | | +| Numerical input. Default is **5000** milliseconds. | | ++-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------+ .. config:setting:: email-batching-buffer-size :displayname: Email batching buffer size (Experimental) :systemconsole: Experimental > Features - :configjson: EmailBatchingBufferSize + :configjson: EmailSettings.EmailBatchingBufferSize :environment: MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE :description: Specify the maximum number of notifications batched into a single email. Default is **256** notifications. Email batching buffer size ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingBufferSize``: ``256`` | -| Numerical input. Default is **256** notifications. | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE`` | -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| Specify the maximum number of notifications batched into a single email. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingBufferSize`` > ``256`` | +| Numerical input. Default is **256** notifications. | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGBUFFERSIZE`` | ++-------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. note:: @@ -152,19 +152,19 @@ Email batching buffer size .. config:setting:: email-batching-interval :displayname: Email batching interval (Experimental) :systemconsole: Experimental > Features - :configjson: EmailBatchingInterval + :configjson: EmailSettings.EmailBatchingInterval :environment: MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL :description: Specify the maximum frequency, in seconds, which the batching job checks for new notifications. Default is **30** seconds. Email batching interval ~~~~~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | -| in which the batching job checks for new notifications. | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingInterval``: ``30`` | -| | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | -| Numerical input. Default is **30** seconds. | | -+--------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Specify the maximum frequency, in seconds, | - System Config path: **Experimental > Features** | +| in which the batching job checks for new notifications. | - ``config.json`` setting: ``EmailSettings`` > ``EmailBatchingInterval`` > ``30`` | +| | - Environment variable: ``MM_EMAILSETTINGS_EMAILBATCHINGINTERVAL`` | +| Numerical input. Default is **30** seconds. | | ++--------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -175,61 +175,61 @@ Email batching interval .. config:setting:: email-login-button-color :displayname: Email login button color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonColor + :configjson: EmailSettings.LoginButtonColor :environment: MM_EMAILSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the email login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#0000**. Email login button color ~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonColor``: ``"#0000"`` | -| This configuration setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONCOLOR`` | -| | | -| String input. Default is **#0000**. | | -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Specify the color of the email login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonColor`` > ``"#0000"`` | +| This configuration setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONCOLOR`` | +| | | +| String input. Default is **#0000**. | | ++-------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. config:setting:: email-login-button-border-color :displayname: Email login button border color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonBorderColor + :configjson: EmailSettings.LoginButtonBorderColor :environment: MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the email login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** Email login button border color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR`` | -| | | -| String input. Default is **#2389D7**. | | -+----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ +| Specify the color of the email login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonBorderColor`` > ``"#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONBORDERCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++----------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ .. config:setting:: email-login-button-text-color :displayname: Email login button text color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonTextColor + :configjson: EmailSettings.LoginButtonTextColor :environment: MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the email login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7** Email login button text color ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the email login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonTextColor``: ``"#2389D7"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR`` | -| | | -| String input. Default is **#2389D7**. | | -+-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ +| Specify the color of the email login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. This setting only applies to the | - ``config.json`` setting: ``EmailSettings`` > ``LoginButtonTextColor`` > ``"#2389D7"`` | +| mobile app. | - Environment variable: ``MM_EMAILSETTINGS_LOGINBUTTONTEXTCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++-------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ .. config:setting:: enable-account-deactivation :displayname: Enable account deactivation (Experimental) :systemconsole: Experimental > Features - :configjson: EnableUserDeactivation + :configjson: TeamSettings.EnableUserDeactivation :environment: MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION - **true**: Users can deactivate their own account from **Settings > Advanced** is enabled. @@ -238,23 +238,23 @@ Email login button text color Enable account deactivation ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+------------------------------------------------------------------------------------------+---------------------------------------------------------------------+ -| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | -| Settings menu. | - ``config.json`` setting: ``TeamSettings`` > ``EnableUserDeactivation``: ``false`` | -| | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | -| - **True**: Users can deactivate their own account from | | -| **Settings > Advanced > Deactivate Account**. If a user deactivates | | -| their own account, they will get an email notification confirming they | | -| were deactivated. Available only when authentication is set to use email/password. | | -| Not available when authentication uses SAML or AD/LDAP. | | -| | | -| - **False**: **(Default)** Users can't deactivate their own account. | | -+------------------------------------------------------------------------------------------+---------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| This setting controls whether users can deactivate their own accounts from the Account | - System Config path: **Experimental > Features** | +| Settings menu. | - ``config.json`` setting: ``TeamSettings`` > ``EnableUserDeactivation`` > ``false`` | +| | - Environment variable: ``MM_TEAMSETTINGS_ENABLEUSERDEACTIVATION`` | +| - **True**: Users can deactivate their own account from | | +| **Settings > Advanced > Deactivate Account**. If a user deactivates | | +| their own account, they will get an email notification confirming they | | +| were deactivated. Available only when authentication is set to use email/password. | | +| Not available when authentication uses SAML or AD/LDAP. | | +| | | +| - **False**: **(Default)** Users can't deactivate their own account. | | ++------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. config:setting:: enable-automatic-replies :displayname: Enable automatic replies :systemconsole: Experimental > Features - :configjson: ExperimentalEnableAutomaticReplies + :configjson: ServiceSettings.ExperimentalEnableAutomaticReplies :environment: N/A - **true**: Users can enable Automatic Replies in **Settings > Notifications**. @@ -263,50 +263,50 @@ Enable account deactivation Enable automatic replies ~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ -| This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAutomaticReplies``: ``false`` | -| - **True**: Users can enable Automatic Replies in **Settings > Notifications**. | - Environment variable: N/A | -| Users set a custom message that will be automatically sent in response to | | -| Direct Messages. | | -| | | -| - **False**: **(Default)** Disables the Automatic Direct Message Replies feature and | | -| hides it from **Settings**. | | -+----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ +| This setting controls whether users can set up automatic replies to direct messages. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableAutomaticReplies`` > ``false`` | +| - **True**: Users can enable Automatic Replies in **Settings > Notifications**. | - Environment variable: N/A | +| Users set a custom message that will be automatically sent in response to | | +| Direct Messages. | | +| | | +| - **False**: **(Default)** Disables the Automatic Direct Message Replies feature and | | +| hides it from **Settings**. | | ++----------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ .. config:setting:: enable-channel-viewed-websocket-messages :displayname: Enable channel viewed websocket messages (Experimental) :systemconsole: Experimental > Features - :configjson: EnableChannelViewedMessages - :environment: N/A + :configjson: ServiceSettings.EnableChannelViewedMessages + :environment: Environment Variable: MM_SERVICESETTINGS_ENABLECHANNELVIEWEDMESSAGES :description: This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread notifications across clients and devices. Default is **true**. Enable channel viewed websocket messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | -| notifications across clients and devices. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableChannelViewedMessages``: ``true`` | -| | - Environment variable: N/A | -| - **true**: **(Default)** Channel viewed WebSocket events are sent. | | -| - **false**: Channel viewed WebSocket events are not sent. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| This setting determines whether ``channel_viewed WebSocket`` events are sent, which synchronize unread | - System Config path: **Experimental > Features** | +| notifications across clients and devices. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableChannelViewedMessages`` > ``true`` | +| | - Environment variable: Environment Variable: MM_SERVICESETTINGS_ENABLECHANNELVIEWEDMESSAGES | +| - **true**: **(Default)** Channel viewed WebSocket events are sent. | | +| - **false**: Channel viewed WebSocket events are not sent. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. 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. + - **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. .. config:setting:: enable-default-channel-leavejoin-system-messages :displayname: Enable default channel leave/join system messages (Experimental) :systemconsole: Experimental > Features - :configjson: ExperimentalEnableDefaultChannelLeaveJoinMessages + :configjson: ServiceSettings.ExperimentalEnableDefaultChannelLeaveJoinMessages :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEDEFAULTCHANNELLEAVEJOINMESSAGES :description: This setting determines whether team leave/join system messages are posted in the default ``town-square`` channel. @@ -316,19 +316,19 @@ Enable channel viewed websocket messages Enable default channel leave/join system messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ -| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | -| ``town-square`` channel. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableDefaultChannelLeaveJoinMessages``: ``true`` | -| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALENABLEDEFAULTCHANNELLEAVEJOINMESSAGES`` | -| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | -| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | -| messages won't be added to the database either. | | -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| This setting determines whether team leave/join system messages are posted in the default | - System Config path: **Experimental > Features** | +| ``town-square`` channel. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableDefaultChannelLeaveJoinMessages`` > ``true`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALENABLEDEFAULTCHANNELLEAVEJOINMESSAGES`` | +| - **true**: **(Default)** Enables leave/join system messages in the default ``town-square`` channel. | | +| - **false**: Disables leave/join messages from the default ``town-square`` channel. These system | | +| messages won't be added to the database either. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. config:setting:: enable-hardened-mode :displayname: Enable hardened mode (Experimental) :systemconsole: Experimental > Features - :configjson: ExperimentalEnableHardenedMode + :configjson: ServiceSettings.ExperimentalEnableHardenedMode :environment: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. @@ -337,19 +337,19 @@ Enable default channel leave/join system messages Enable hardened mode ~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------+ -| This setting enables or disables hardened mode, which makes user experience trade-offs in the interest | - System Config path: **Experimental > Features** | -| of security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableHardenedMode``: ``false`` | -| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | -| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | | -| interest of security. | | -| - **false**: **(Default)** Disables hardened mode. | | -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| This setting enables or disables hardened mode, which makes user experience trade-offs in the interest | - System Config path: **Experimental > Features** | +| of security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalEnableHardenedMode`` > ``false`` | +| | - Environment variable: MM_SERVICESETTINGS_EXPERIMENTALENABLEHARDENEDMODE | +| - **true**: Enables a hardened mode for Mattermost that makes user experience trade-offs in the | | +| interest of security. | | +| - **false**: **(Default)** Disables hardened mode. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ Changes made when hardened mode is enabled: - Failed login returns a generic error message instead of a specific message for username and password. -- If :doc:`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. +- When :doc:`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`` or ``override_icon_url``. @@ -357,7 +357,7 @@ Changes made when hardened mode is enabled: .. config:setting:: enable-theme-selection :displayname: Enable theme selection (Experimental) :systemconsole: Experimental > Features - :configjson: EnableThemeSelection + :configjson: ThemeSettings.EnableThemeSelection :environment: MM_THEMESETTINGS_ENABLETHEMESELECTION - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select their theme. @@ -369,19 +369,19 @@ Enable theme selection .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ThemeSettings`` > ``EnableThemeSelection``: ``true`` | -| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | -| their theme. | | -| - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | -| **Settings**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ +| This setting controls whether users can select different themes for their Mattermost interface. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ThemeSettings`` > ``EnableThemeSelection`` > ``true`` | +| - **true**: **(Default)** Enables the **Display > Theme** tab in **Settings** so users can select | - Environment variable: ``MM_THEMESETTINGS_ENABLETHEMESELECTION`` | +| their theme. | | +| - **false**: Users cannot select a different theme. The **Display > Theme** tab is hidden in | | +| **Settings**. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ .. config:setting:: allow-custom-themes :displayname: Allow custom themes (Experimental) :systemconsole: Experimental > Features - :configjson: AllowCustomThemes + :configjson: ThemeSettings.AllowCustomThemes :environment: MM_THEMESETTINGS_ALLOWCUSTOMTHEMES - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. @@ -393,18 +393,18 @@ Allow custom themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowCustomThemes``: ``true`` | -| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | -| - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | -| hidden in **Settings**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ +| This setting controls whether users can create and use custom themes beyond the default theme options. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowCustomThemes`` > ``true`` | +| - **true**: **(Default)** Enables the **Display > Theme > Custom Theme** section in **Settings**. | - Environment variable: ``MM_THEMESETTINGS_ALLOWCUSTOMTHEMES`` | +| - **false**: Users cannot use a custom theme. The **Display > Theme > Custom Theme** section is | | +| hidden in **Settings**. | | ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ .. config:setting:: default-theme :displayname: Default theme (Experimental) :systemconsole: Experimental > Features - :configjson: DefaultTheme + :configjson: ThemeSettings.DefaultTheme :environment: MM_THEMESETTINGS_DEFAULTTHEME :description: Set a default theme that applies to all new users on the system. Default is **default**. @@ -414,17 +414,17 @@ Default theme .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ThemeSettings`` > ``DefaultTheme``: ``"default"`` | -| Options include ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | -+--------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ +| Set a default theme that applies to all new users on the system. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ThemeSettings`` > ``DefaultTheme`` > ``"default"`` | +| Options include ``"default"``, ``"organization"``, ``"mattermostDark"``, and ``"windows10"``. | - Environment variable: ``MM_THEMESETTINGS_DEFAULTTHEME`` | ++--------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ .. config:setting:: enable-tutorial :displayname: Enable tutorial (Experimental) :systemconsole: Experimental > Features - :configjson: EnableTutorial - :environment: N/A + :configjson: ServiceSettings.EnableTutorial + :environment: MM_SERVICESETTINGS_ENABLETUTORIAL - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first time after account creation. - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. @@ -432,20 +432,20 @@ Default theme Enable tutorial ~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableTutorial``: ``true`` | -| - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: N/A | -| time after account creation. | | -| - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | -| the first time after account creation. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ +| This setting controls whether new users are shown a tutorial when they first open Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableTutorial`` > ``true`` | +| - **true**: **(Default)** Users are prompted with a tutorial when they open Mattermost for the first | - Environment variable: MM_SERVICESETTINGS_ENABLETUTORIAL | +| time after account creation. | | +| - **false**: The tutorial is disabled. Users are placed in Town Square when they open Mattermost for | | +| the first time after account creation. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ .. config:setting:: enable-onboarding-flow :displayname: Enable onboarding flow (Experimental) :systemconsole: Experimental > Features - :configjson: EnableOnboardingFlow - :environment: N/A + :configjson: ServiceSettings.EnableOnboardingFlow + :environment: MM_SERVICESETTINGS_ENABLEONBOARDINGFLOW - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial onboarding. - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open Mattermost for the first time after account creation. @@ -453,32 +453,32 @@ Enable tutorial Enable onboarding flow ~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ -| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableOnboardingFlow``: ``true`` | -| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: N/A | -| onboarding. | | -| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | -| Mattermost for the first time after account creation. | | -+----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| This setting controls whether new users are shown onboarding tasks when they first use Mattermost. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``EnableOnboardingFlow`` > ``true`` | +| - **true**: **(Default)** New Mattermost users are shown key tasks to complete as part of initial | - Environment variable: MM_SERVICESETTINGS_ENABLEONBOARDINGFLOW | +| onboarding. | | +| - **false**: User onboarding tasks are disabled. Users are placed in Town Square when they open | | +| Mattermost for the first time after account creation. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. config:setting:: enable-user-typing-messages :displayname: Enable user typing messages (Experimental) :systemconsole: Experimental > Features - :configjson: EnableUserTypingMessages - :environment: N/A + :configjson: ServiceSettings.EnableUserTypingMessages + :environment: MM_SERVICESETTINGS_ENABLEUSERTYPINGMESSAGES :description: This setting determines whether "user is typing..." messages are displayed below the message box. Default is **true**. Enable user typing messages ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | -| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserTypingMessages``: ``true`` | -| | - Environment variable: N/A | -| - **true**: **(Default)** "User is typing..." messages are displayed. | | -| - **false**: "User is typing..." messages are not displayed. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ +| This setting determines whether "user is typing..." messages are displayed below the message box when | - System Config path: **Experimental > Features** | +| using Mattermost in a web browser or the desktop app. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserTypingMessages`` > ``true`` | +| | - Environment variable: MM_SERVICESETTINGS_ENABLEUSERTYPINGMESSAGES | +| - **true**: **(Default)** "User is typing..." messages are displayed. | | +| - **false**: "User is typing..." messages are not displayed. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ .. note:: @@ -491,36 +491,36 @@ Enable user typing messages .. config:setting:: user-typing-timeout :displayname: User typing timeout (Experimental) :systemconsole: Experimental > Features - :configjson: TimeBetweenUserTypingUpdatesMilliseconds + :configjson: ServiceSettings.TimeBetweenUserTypingUpdatesMilliseconds :environment: N/A :description: This setting defines how frequently "user is typing..." messages are updated, measured in milliseconds. Default is **5000** milliseconds. User typing timeout ~~~~~~~~~~~~~~~~~~~ -+--------------------------------------------------------------+---------------------------------------------------------------------------------+ -| This setting defines how frequently "user is typing..." | - System Config path: **Experimental > Features** | -| messages are updated, measured in milliseconds. | - ``config.json`` setting: ``ServiceSettings`` > ``TimeBetweenUserTypingUpdatesMilliseconds``: ``5000`` | -| | - Environment variable: N/A | -| Numerical input. Default is **5000** milliseconds. | | -+--------------------------------------------------------------+---------------------------------------------------------------------------------+ ++--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+ +| This setting defines how frequently "user is typing..." | - System Config path: **Experimental > Features** | +| messages are updated, measured in milliseconds. | - ``config.json`` setting: ``ServiceSettings`` > ``TimeBetweenUserTypingUpdatesMilliseconds`` > ``5000`` | +| | - Environment variable: N/A | +| Numerical input. Default is **5000** milliseconds. | | ++--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------+ .. config:setting:: users-status-and-profile-fetching-poll-interval :displayname: User's status and profile fetching poll interval (Experimental) :systemconsole: Experimental > Features - :configjson: UsersStatusAndProfileFetchingPollIntervalMilliseconds + :configjson: ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds :environment: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS :description: The number of milliseconds to wait between fetching user statuses and profiles periodically. Default is **3000** milliseconds. Set to **0** to disable. User's status and profile fetching poll interval ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ -| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | -| periodically. Set to **0** to disable. | - ``config.json`` setting: ``ExperimentalSettings`` > ``UsersStatusAndProfileFetchingPollIntervalMilliseconds``: ``3000`` | -| | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | -| Numerical input. Default is **3000** milliseconds. Set to **0** to disable. | | -+----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ +| This setting configures the number of milliseconds to wait between fetching user statuses and profiles | - System Config path: **Experimental > Features** | +| periodically. Set to **0** to disable. | - ``config.json`` setting: ``ExperimentalSettings`` > ``UsersStatusAndProfileFetchingPollIntervalMilliseconds`` > ``3000`` | +| | - Environment variable: MM_EXPERIMENTALSETTINGS_USERSSTATUSANDPROFILEFETCHINGPOLLINTERVALMILLISECONDS | +| Numerical input. Default is **3000** milliseconds. Set to **0** to disable. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -529,28 +529,28 @@ User's status and profile fetching poll interval .. config:setting:: primary-team :displayname: Primary team (Experimental) :systemconsole: Experimental > Features - :configjson: ExperimentalPrimaryTeam + :configjson: ServiceSettings.ExperimentalPrimaryTeam :environment: N/A :description: 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. Primary team ~~~~~~~~~~~~ -+------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The primary team of which users on the server are members. | - System Config path: **Experimental > Features** | -| When a primary team is set, the options to join other teams or leave | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalPrimaryTeam``: ``""`` | -| the primary team are disabled. | - Environment variable: N/A | -| | | -| If the team URL of the primary team is ``https://example.mattermost.com/myteam/``, | | -| then set the value to **myteam** in ``config.json``. | | -| | | -| String input. | | -+------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ +| The primary team of which users on the server are members. | - System Config path: **Experimental > Features** | +| When a primary team is set, the options to join other teams or leave | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalPrimaryTeam`` > ``""`` | +| the primary team are disabled. | - Environment variable: N/A | +| | | +| If the team URL of the primary team is ``https://example.mattermost.com/myteam/``, | | +| then set the value to **myteam** in ``config.json``. | | +| | | +| String input. | | ++------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ .. config:setting:: saml-login-button-color :displayname: SAML login button color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonColor + :configjson: SamlSettings.LoginButtonColor :environment: MM_SAMLSETTINGS_LOGINBUTTONCOLOR :description: Specify the color of the SAML login button for white labeling purposes. Use a hex code that begins with # before the code. Default is **#34a28b** @@ -560,18 +560,18 @@ SAML login button color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code that begins with # before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonColor``: ``"#34a28b"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | -| | | -| String input. Default is **#34a28b**. | | -+------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| Specify the color of the SAML login button for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code that begins with # before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonColor`` > ``"#34a28b"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONCOLOR`` | +| | | +| String input. Default is **#34a28b**. | | ++------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. config:setting:: saml-login-button-border-color :displayname: SAML login button border color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonBorderColor + :configjson: SamlSettings.LoginButtonBorderColor :environment: MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR :description: Specify the color of the SAML login button border for white labeling purposes. Use a hex code that begins with # before the code. Default is **#2389D7**. @@ -581,18 +581,18 @@ SAML login button border color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button border for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonBorderColor``: ``"#2389D7"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR`` | -| | | -| String input. Default is **#2389D7**. | | -+----------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ +| Specify the color of the SAML login button border for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonBorderColor`` > ``"#2389D7"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONBORDERCOLOR`` | +| | | +| String input. Default is **#2389D7**. | | ++----------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ .. config:setting:: saml-login-button-text-color :displayname: SAML login button text color (Experimental) :systemconsole: Experimental > Features - :configjson: LoginButtonTextColor + :configjson: SamlSettings.LoginButtonTextColor :environment: MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR :description: Specify the color of the SAML login button text for white labeling purposes. Use a hex code that begins with # before the code. Default is **#ffffff**. @@ -602,19 +602,19 @@ SAML login button text color .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the color of the SAML login button text for white labeling purposes. | - System Config path: **Experimental > Features** | -| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonTextColor``: ``"#ffffff"`` | -| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR`` | -| | | -| String input. Default is **#ffffff**. | | -+-------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ +| Specify the color of the SAML login button text for white labeling purposes. | - System Config path: **Experimental > Features** | +| Use a hex code with a #-sign before the code. | - ``config.json`` setting: ``SamlSettings`` > ``LoginButtonTextColor`` > ``"#ffffff"`` | +| This setting only applies to the mobile app. | - Environment variable: ``MM_SAMLSETTINGS_LOGINBUTTONTEXTCOLOR`` | +| | | +| String input. Default is **#ffffff**. | | ++-------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ .. config:setting:: use-channel-name-in-email-notifications :displayname: Use channel name in email notifications (Experimental) :systemconsole: Experimental > Features - :configjson: UseChannelInEmailNotifications - :environment: N/A + :configjson: SamlSettings.UseChannelInEmailNotifications + :environment: MM_EMAILSETTINGS_USECHANNELINEMAILNOTIFICATIONS - **true**: Channel and team name appears in email notification subject lines. - **false**: **(Default)** Only team name appears in email notification subject line. @@ -622,31 +622,31 @@ SAML login button text color Use channel name in email notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ServiceSettings`` > ``UseChannelInEmailNotifications``: ``false`` | -| - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: N/A | -| using only one team. | | -| - **false**: **(Default)** Only team name appears in email notification subject line. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| This setting controls whether channel names are included in email notification subject lines. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ServiceSettings`` > ``UseChannelInEmailNotifications`` > ``false`` | +| - **true**: Channel and team name appears in email notification subject lines. Useful for servers | - Environment variable: MM_EMAILSETTINGS_USECHANNELINEMAILNOTIFICATIONS | +| using only one team. | | +| - **false**: **(Default)** Only team name appears in email notification subject line. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ .. config:setting:: user-status-away-timeout :displayname: User status away timeout (Experimental) :systemconsole: Experimental > Features - :configjson: UserStatusAwayTimeout - :environment: N/A + :configjson: SamlSettings.UserStatusAwayTimeout + :environment: MM_TEAMSETTINGS_USERSTATUSAWAYTIMEOUT :description: This setting defines the number of seconds after which the user's status indicator changes to "Away", when they are away from Mattermost. Default is **300** seconds. User status away timeout ~~~~~~~~~~~~~~~~~~~~~~~~ -+-------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting defines the number of seconds after which | - System Config path: **Experimental > Features** | -| the user's status indicator changes to **Away**, when they | - ``config.json`` setting: ``ServiceSettings`` > ``UserStatusAwayTimeout``: ``300`` | -| are away from Mattermost. | - Environment variable: N/A | -| | | -| Numerical input. Default is **300** seconds. | | -+-------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| This setting defines the number of seconds after which | - System Config path: **Experimental > Features** | +| the user's status indicator changes to **Away**, when they | - ``config.json`` setting: ``ServiceSettings`` > ``UserStatusAwayTimeout`` > ``300`` | +| are away from Mattermost. | - Environment variable: MM_TEAMSETTINGS_USERSTATUSAWAYTIMEOUT | +| | | +| Numerical input. Default is **300** seconds. | | ++-------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. config:setting:: disable-data-refetching-on-browser-refocus :displayname: Disable data refetching on browser refocus (Experimental) @@ -661,14 +661,14 @@ User status away timeout Disable data refetching on browser refocus ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ -| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableRefetchingOnBrowserFocus``: ``false`` | -| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | -| This may result in improved performance for users with many channels and channel members. | | -| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | -| regains focus. | | -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ +| This setting disables re-fetching of channel and channel members on browser focus. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableRefetchingOnBrowserFocus`` > ``false`` | +| - **true**: Mattermost won't refetch channels and channel members when the browser regains focus. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEREFETCHINGONBROWSERFOCUS | +| This may result in improved performance for users with many channels and channel members. | | +| - **false**: **(Default)** Mattermost will refetch channels and channel members when the browser | | +| regains focus. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+ .. config:setting:: disable-wake-up-reconnect-handler :displayname: Disable wake up reconnect handler (Experimental) @@ -683,14 +683,14 @@ Disable data refetching on browser refocus Disable wake up reconnect handler ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ -| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableWakeUpReconnectHandler``: ``false`` | -| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | -| This might reduce the amount of regular network traffic the app is sending. | | -| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | -| data. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ +| This setting disables attempts to detect when the computer has woken up and refetch data. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``DisableWakeUpReconnectHandler`` > ``false`` | +| - **true**: Mattermost won't attempt to detect when the computer has woken up and refetch data. | - Environment variable: MM_EXPERIMENTALSETTINGS_DISABLEWAKEUPRECONNECTHANDLER | +| This might reduce the amount of regular network traffic the app is sending. | | +| - **false**: **(Default)** Mattermost attempts to detect when the computer has woken up and refreshes | | +| data. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+ .. config:setting:: delay-channel-autocomplete :displayname: Delay channel autocomplete (Experimental) @@ -705,16 +705,16 @@ Disable wake up reconnect handler Delay channel autocomplete ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ -| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | -| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``ExperimentalSettings`` > ``DelayChannelAutocomplete``: ``false`` | -| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | -| | | -| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | -| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | -| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | -| For example, typing ``~`` will show the autocomplete. | | -+----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+ +| This setting controls whether or not the channel link autocomplete triggers immediately when after a | - System Config path: **Experimental > Features** | +| tilde is typed when composing a message. This setting makes the channel autocomplete, such as | - ``config.json`` setting: ``ExperimentalSettings`` > ``DelayChannelAutocomplete`` > ``false`` | +| ``~town-square``, less obtrusive for people who use tildes ``~`` as punctuation. | - Environment variable: MM_EXPERIMENTALSETTINGS_DELAYCHANNELAUTOCOMPLETE | +| | | +| - **true**: The autocomplete appears after the user types a tilde followed by two or more characters. | | +| For example, typing ``~to`` will show the autocomplete, but typing ``~`` will not. | | +| - **false**: **(Default)** The autocomplete appears immediately after the user types a tilde. | | +| For example, typing ``~`` will show the autocomplete. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+ .. config:setting:: youtube-referrer-policy :displayname: YouTube referrer policy (Experimental) @@ -729,15 +729,15 @@ Delay channel autocomplete YouTube referrer policy ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ -| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ExperimentalSettings`` > ``YoutubeReferrerPolicy``: ``false`` | -| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | -| ``strict-origin-when-cross-origin``. | | -| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | -| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | -| sources in analytics tools. | | -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ +| This setting resolves issues where YouTube video previews display as unavailable. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``YoutubeReferrerPolicy`` > ``false`` | +| - **true**: The referrer policy for embedded YouTube videos is set to | - Environment variable: MM_EXPERIMENTALSETTINGS_YOUTUBEREFERRERPOLICY | +| ``strict-origin-when-cross-origin``. | | +| - **false**: **(Default)** The referrer policy is set to ``no-referrer`` which enhances user privacy | | +| by not disclosing the source URL, but limits the ability to track user engagement and traffic | | +| sources in analytics tools. | | ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ ---- @@ -752,8 +752,8 @@ Access the following configuration settings in the System Console by going to ** .. config:setting:: enable-bleve-indexing :displayname: Enable Bleve indexing (Experimental) :systemconsole: Experimental > Bleve - :configjson: EnableIndexing - :environment: N/A + :configjson: BleveSettings.EnableIndexing + :environment: MM_BLEVESETTINGS_ENABLEINDEXING - **true**: The indexing of new posts occurs automatically. - **false**: **(Default)** The indexing of new posts does not occur automatically. @@ -761,16 +761,16 @@ Access the following configuration settings in the System Console by going to ** Enable Bleve indexing ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve indexing is | - System Config path: **Experimental > Bleve** | -| enabled for posts to support search functionality. | - ``config.json`` setting: ``BleveSettings`` > ``EnableIndexing``: ``false`` | -| | - Environment variable: N/A | -| - **true**: The indexing of new posts occurs | | -| automatically. | | -| | | -| - **false**: **(Default)** The indexing of new posts | | -| does not occur automatically. | | -+----------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------+-------------------------------------------------------------------------------+ +| This setting controls whether Bleve indexing is | - System Config path: **Experimental > Bleve** | +| enabled for posts to support search functionality. | - ``config.json`` setting: ``BleveSettings`` > ``EnableIndexing`` > ``false`` | +| | - Environment variable: MM_BLEVESETTINGS_ENABLEINDEXING | +| - **true**: The indexing of new posts occurs | | +| automatically. | | +| | | +| - **false**: **(Default)** The indexing of new posts | | +| does not occur automatically. | | ++----------------------------------------------------------+-------------------------------------------------------------------------------+ .. note:: @@ -779,18 +779,18 @@ Enable Bleve indexing .. config:setting:: index-directory :displayname: Index directory (Experimental) :systemconsole: Experimental > Bleve - :configjson: IndexDir - :environment: N/A + :configjson: BleveSettings.IndexDir + :environment: MM_BLEVESETTINGS_INDEXDIR :description: Directory path to use for storing bleve indexes. Index directory ~~~~~~~~~~~~~~~ -+-----------------------------------------------------------+--------------------------------------------------------------------------+ -| Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | -| | - ``config.json`` setting: ``BleveSettings`` > ``IndexDir``: ``""`` | -| String input. | - Environment variable: N/A | -+-----------------------------------------------------------+--------------------------------------------------------------------------+ ++-----------------------------------------------------------+----------------------------------------------------------------------+ +| Directory path to use for storing bleve indexes. | - System Config path: **Experimental > Bleve** | +| | - ``config.json`` setting: ``BleveSettings`` > ``IndexDir`` > ``""`` | +| String input. | - Environment variable: MM_BLEVESETTINGS_INDEXDIR | ++-----------------------------------------------------------+----------------------------------------------------------------------+ .. tip:: @@ -809,8 +809,8 @@ Select **Purge Index** to remove the contents of the Bleve index directory. Sear .. config:setting:: enable-bleve-indexingsearch :displayname: Enable Bleve for search queries (Experimental) :systemconsole: Experimental > Bleve - :configjson: EnableSearching - :environment: N/A + :configjson: BleveSettings.EnableSearching + :environment: MM_BLEVESETTINGS_ENABLESEARCHING - **true**: Search queries will use bleve search. - **false**: **(Default)** Search queries will not use bleve search. @@ -818,19 +818,19 @@ Select **Purge Index** to remove the contents of the Bleve index directory. Sear Enable Bleve for search queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | -| database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableSearching``: ``false`` | -| | - Environment variable: N/A | -| - **true**: Search queries will use bleve search. | | -| - **false**: **(Default)** Search queries will not use bleve search. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ +| This setting controls whether Bleve search engine is used for search queries instead of the default | - System Config path: **Experimental > Bleve** | +| database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableSearching`` > ``false`` | +| | - Environment variable: MM_BLEVESETTINGS_ENABLESEARCHING | +| - **true**: Search queries will use bleve search. | | +| - **false**: **(Default)** Search queries will not use bleve search. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ .. config:setting:: enable-bleve-indexingautocomplete :displayname: Enable Bleve for autocomplete queries (Experimental) :systemconsole: Experimental > Bleve - :configjson: EnableAutocomplete - :environment: N/A + :configjson: BleveSettings.EnableAutocomplete + :environment: MM_BLEVESETTINGS_ENABLEAUTOCOMPLETE - **true**: Autocomplete queries will use bleve search. - **false**: **(Default)** Autocomplete queries will not use bleve search. @@ -838,13 +838,13 @@ Enable Bleve for search queries Enable Bleve for autocomplete queries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | -| default database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableAutocomplete``: ``false`` | -| | - Environment variable: N/A | -| - **true**: Autocomplete queries will use bleve search. | | -| - **false**: **(Default)** Autocomplete queries will not use bleve search. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| This setting controls whether Bleve search engine is used for autocomplete queries instead of the | - System Config path: **Experimental > Bleve** | +| default database search. | - ``config.json`` setting: ``BleveSettings`` > ``EnableAutocomplete`` > ``false`` | +| | - Environment variable: MM_BLEVESETTINGS_ENABLEAUTOCOMPLETE | +| - **true**: Autocomplete queries will use bleve search. | | +| - **false**: **(Default)** Autocomplete queries will not use bleve search. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ ---- @@ -861,7 +861,7 @@ Enable the following settings to output audit events in the System Console by go :displayname: Advanced Logging (Audit Logging > Cloud) :systemconsole: Experimental > Features :configjson: AdvancedLoggingJSON - :environment: N/A + :environment: MM_EXPERIMENTALAUDITSETTINGS_ADVANCEDLOGGINGJSON :description: Output log and audit records to any combination of console, local file, syslog, and TCP socket targets for a Mattermost Cloud deployment. Advanced logging @@ -875,7 +875,7 @@ Output log and audit records to any combination of console, local file, syslog, .. config:setting:: enable-audit-logging :displayname: Enable audit logging (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileEnabled + :configjson: ExperimentalAuditSettings.FileEnabled :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED :description: Write audit files locally for a self-hosted deployment. @@ -885,21 +885,21 @@ Enable audit logging .. include:: ../_static/badges/ent-cloud-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+ -| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | -| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileEnabled``: ``false`` | -| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | -| | | -| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | -| self-hosted deployment. | | -| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | -| to a file for a self-hosted deployment. | | -+----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| When audit logging is enabled in a self-hosted instance, you can specify size, backup interval, | - System Config path: **Experimental > Features** | +| compression, maximum age to manage file rotation, and timestamps for audit logging, as defined below. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileEnabled`` > ``false`` | +| You can specify these settings independently for audit events and AD/LDAP events. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEENABLED | +| | | +| - **true**: Audit logging files are enabled, and audit files are written locally to a file for a | | +| self-hosted deployment. | | +| - **false**: **(Default)** Audit logging files aren't enabled, and audit logs aren't written locally | | +| to a file for a self-hosted deployment. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. config:setting:: file-name :displayname: File name (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileName + :configjson: ExperimentalAuditSettings.FileName :environment: MM_EXPERIMENTALAUDITSETTINGS_FILENAME :description: Specify the path to the audit file for a self-hosted deployment. @@ -909,16 +909,16 @@ File name .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+---------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | -| | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileName``: ``""`` | -| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | -+---------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| Specify the path to the audit file for a self-hosted deployment. | - System Config path: **Experimental > Features** | +| | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileName`` > ``""`` | +| String input consisting of a user-defined path (e.g. ``/var/log/mattermost_audit.log``). | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILENAME | ++---------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ .. config:setting:: max-file-size :displayname: File max size MB (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileMaxSizeMB + :configjson: ExperimentalAuditSettings.FileMaxSizeMB :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB :description: This is the maximum size (measured in megabytes) that the file can grow before triggering rotation for a self-hosted deployment.. Default is **100** MB. @@ -928,17 +928,17 @@ Max file size .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------------------+------------------------------------------------------------------------------+ -| This is the maximum size, in megabytes, that the file can grow before | - System Config path: **Experimental > Features** | -| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxSizeMB``: ``100`` | -| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB | -| Numerical input. Default is **100** MB. | | -+----------------------------------------------------------------------------+------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| This is the maximum size, in megabytes, that the file can grow before | - System Config path: **Experimental > Features** | +| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxSizeMB`` > ``100`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXSIZEMB | +| Numerical input. Default is **100** MB. | | ++----------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. config:setting:: max-file-age :displayname: File max age days (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileMaxAgeDays + :configjson: ExperimentalAuditSettings.FileMaxAgeDays :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS :description: This is the maximum age in days a file can reach before triggering rotation for a self-hosted deployment.. The default value is **0**, indicating no limit on the age. @@ -948,18 +948,18 @@ Max file age .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+-------------------------------------------------------------------+-----------------------------------------------------------------------------+ -| This is the maximum age, in days, a file can reach before | - System Config path: **Experimental > Features** | -| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxAgeDays``: ``0`` | -| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | -| Numerical input. Default is **0** days (no limit). | | -+-------------------------------------------------------------------+-----------------------------------------------------------------------------+ ++-------------------------------------------------------------------+---------------------------------------------------------------------------------------+ +| This is the maximum age, in days, a file can reach before | - System Config path: **Experimental > Features** | +| triggering rotation for a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxAgeDays`` > ``0`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXAGEDAYS | +| Numerical input. Default is **0** days (no limit). | | ++-------------------------------------------------------------------+---------------------------------------------------------------------------------------+ .. config:setting:: maximum-file-backups :displayname: File max backups (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileMaxBackups - :environment: N/A + :configjson: ExperimentalAuditSettings.FileMaxBackups + :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXBACKUPS :description: This is the maximum number of rotated files kept for a self-hosted deployment. The oldest is deleted first. The default value is **0**, indicating no limit on the number of backups. Maximum file backups @@ -968,17 +968,17 @@ Maximum file backups .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+--------------------------------------------------------------+-----------------------------------------------------------------------------+ -| This is the maximum number of rotated files kept for a | - System Config path: **Experimental > Features** | -| self-hosted deployment. The oldest is deleted first. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxBackups``: ``0`` | -| | - Environment variable: N/A | -| Numerical input. Default is **0** (no limit). | | -+--------------------------------------------------------------+-----------------------------------------------------------------------------+ ++--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ +| This is the maximum number of rotated files kept for a | - System Config path: **Experimental > Features** | +| self-hosted deployment. The oldest is deleted first. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxBackups`` > ``0`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXBACKUPS | +| Numerical input. Default is **0** (no limit). | | ++--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ .. config:setting:: file-compression :displayname: File compress (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileCompress + :configjson: ExperimentalAuditSettings.FileCompress :environment: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS :description: When ``true``, rotated files are compressed using ``gzip`` in a self-hosted deployment. Default value is **false**. @@ -988,18 +988,18 @@ File compression .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------+-------------------------------------------------------------------------------+ -| When ``true``, rotated files are compressed using | - System Config path: **Experimental > Features** | -| ``gzip`` in a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileCompress``: ``false`` | -| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | -| - **true**: Rotated files are compressed using ``gzip``. | | -| - **false**: **(Default)** Rotated files are not compressed. | | -+----------------------------------------------------------------+-------------------------------------------------------------------------------+ ++----------------------------------------------------------------+-----------------------------------------------------------------------------------------+ +| When ``true``, rotated files are compressed using | - System Config path: **Experimental > Features** | +| ``gzip`` in a self-hosted deployment. | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileCompress`` > ``false`` | +| | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILECOMPRESS | +| - **true**: Rotated files are compressed using ``gzip``. | | +| - **false**: **(Default)** Rotated files are not compressed. | | ++----------------------------------------------------------------+-----------------------------------------------------------------------------------------+ .. config:setting:: maximum-file-queue :displayname: File max queue size (Audit Logging > Self-Hosted) :systemconsole: Experimental > Features - :configjson: FileMaxQueueSize + :configjson: ExperimentalAuditSettings.FileMaxQueueSize :environment: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE :description: 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. Default is **1000** records. @@ -1009,13 +1009,13 @@ Maximum file queue .. include:: ../_static/badges/ent-selfhosted.rst :start-after: :nosearch: -+----------------------------------------------------------------+----------------------------------------------------------------------------------+ -| This setting determines how many audit records can be | - System Config path: **Experimental > Features** | -| queued/buffered at any point in time when writing to a file | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxQueueSize``: ``1000`` | -| for a self-hosted deployment. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | -| | | -| Numerical input. Default is **1000** records. | | -+----------------------------------------------------------------+----------------------------------------------------------------------------------+ ++----------------------------------------------------------------+--------------------------------------------------------------------------------------------+ +| This setting determines how many audit records can be | - System Config path: **Experimental > Features** | +| queued/buffered at any point in time when writing to a file | - ``config.json`` setting: ``ExperimentalAuditSettings`` > ``FileMaxQueueSize`` > ``1000`` | +| for a self-hosted deployment. | - Environment variable: MM_EXPERIMENTALAUDITSETTINGS_FILEMAXQUEUESIZE | +| | | +| Numerical input. Default is **1000** records. | | ++----------------------------------------------------------------+--------------------------------------------------------------------------------------------+ .. note:: @@ -1069,7 +1069,7 @@ Access the following self-hosted configuration settings by editing the ``config. :displayname: Allowed themes (Experimental) :systemconsole: N/A :configjson: AllowedThemes - :environment: N/A + :environment: MM_THEMESETTINGS_ALLOWEDTHEMES :description: Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. Allowed themes @@ -1078,12 +1078,12 @@ Allowed themes .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - System Config path: N/A | -| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowedThemes`` | -| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | - Environment variable: N/A | -| and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Select the themes that can be chosen by users when ``EnableThemeSelection`` is set to ``true``. | - System Config path: N/A | +| | - ``config.json`` setting: ``ThemeSettings`` > ``AllowedThemes`` > ``[]`` | +| String array input consisting of the options ``"default"``, ``"organization"``, ``"mattermostDark"``, | - Environment variable: MM_THEMESETTINGS_ALLOWEDTHEMES | +| and ``"windows10"``, such as ``["mattermostDark", "windows10"]``. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1093,7 +1093,7 @@ Allowed themes :displayname: File location (Experimental) :systemconsole: N/A :configjson: FileLocation - :environment: N/A + :environment: MM_COMPLIANCESETTINGS_DIRECTORY :description: Set the file location of the compliance exports. By default, they are written to the ``exports`` subdirectory of the configured Local Storage directory. File Location @@ -1102,13 +1102,13 @@ File Location .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set the file location of the compliance exports. By default, they are written to the ``exports`` | - System Config path: N/A | -| subdirectory of the configured | - ``config.json`` setting: ``ComplianceSettings`` > ``FileLocation`` | -| :ref:`Local Storage directory `. | - Environment variable: N/A | -| | | -| String input. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Set the file location of the compliance exports. By default, they are written to the ``exports`` | - System Config path: N/A | +| subdirectory of the configured | - ``config.json`` setting: ``ComplianceSettings`` > ``FileLocation`` > ``""`` | +| :ref:`Local Storage directory `. | - Environment variable: MM_COMPLIANCESETTINGS_DIRECTORY | +| | | +| String input. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1118,19 +1118,19 @@ File Location :displayname: Push notification buffer (Experimental) :systemconsole: N/A :configjson: PushNotificationBuffer - :environment: N/A + :environment: MM_EMAILSETTINGS_PUSHNOTIFICATIONBUFFER :description: Used to control the buffer of outstanding Push Notification messages to be sent. Default is **1000** notifications. Push notification buffer ~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Used to control the buffer of outstanding Push Notification messages to be sent. If the number of | - System Config path: N/A | -| messages exceeds that number, then the request making the Push Notification will be blocked until | - ``config.json`` setting: ``EmailSettings`` > ``PushNotificationBuffer`` | -| there's room. | - Environment variable: N/A | -| | | -| Numerical input. Default is **1000** notifications. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| Used to control the buffer of outstanding Push Notification messages to be sent. If the number of | - System Config path: N/A | +| messages exceeds that number, then the request making the Push Notification will be blocked until | - ``config.json`` setting: ``EmailSettings`` > ``PushNotificationBuffer`` > ``1000`` | +| there's room. | - Environment variable: MM_EMAILSETTINGS_PUSHNOTIFICATIONBUFFER | +| | | +| Numerical input. Default is **1000** notifications. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. note:: @@ -1148,14 +1148,14 @@ Push notification buffer Restrict system admin ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | -| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``ExperimentalSettings`` > ``RestrictSystemAdmin`` | -| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | -| admin role to users but restricting certain actions only for Cloud Admins. | | -| - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | -| role. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ +| - **true**: **(Default for Cloud deployments)** Restricts the system admin from viewing and modifying | - System Config path: N/A | +| a subset of server configuration settings from the System Console. Not recommended for use in | - ``config.json`` setting: ``ExperimentalSettings`` > ``RestrictSystemAdmin`` > ``false`` | +| on-prem installations. This is intended to support Mattermost Private Cloud in giving the system | - Environment variable: MM_EXPERIMENTALSETTINGS_RESTRICTSYSTEMADMIN | +| admin role to users but restricting certain actions only for Cloud Admins. | | +| - **false**: **(Default for self-host deployments)** No restrictions are applied to the system admin | | +| role. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+ .. note:: @@ -1178,14 +1178,14 @@ Enable client-side certification .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether client-side certificate authentication is enabled for your Mattermost | - System Config path: N/A | -| server. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertEnable`` | -| | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | -| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | | -| ` to learn more. | | -| - **false**: **(Default)** Client-side certification is disabled. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ +| This setting controls whether client-side certificate authentication is enabled for your Mattermost | - System Config path: N/A | +| server. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertEnable`` > ``false`` | +| | - Environment variable: MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTENABLE | +| - **true**: Enables client-side certification for your Mattermost server. See :doc:`the documentation | | +| ` to learn more. | | +| - **false**: **(Default)** Client-side certification is disabled. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------+ .. config:setting:: client-side-certification-login-method :displayname: Client-side certification login method (Experimental) @@ -1202,22 +1202,22 @@ Client-side certification login method .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | -| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertCheck`` | -| | - Environment variable: ``MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTCHECK`` | -| - **primary**: After the client side certificate is verified, user's email is retrieved from the | | -| certificate and is used to log in without a password. | | -| - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | -| retrieved from the certificate and matched against the one supplied by the user. If they match, | | -| the user logs in with regular email/password credentials. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ +| This setting controls how client-side certificates are used for user authentication. Used in | - System Config path: N/A | +| combination with the ``ClientSideCertEnable`` configuration setting. | - ``config.json`` setting: ``ExperimentalSettings`` > ``ClientSideCertCheck`` > ``"secondary"`` | +| | - Environment variable: ``MM_EXPERIMENTALSETTINGS_CLIENTSIDECERTCHECK`` | +| - **primary**: After the client side certificate is verified, user's email is retrieved from the | | +| certificate and is used to log in without a password. | | +| - **secondary**: **(Default)** After the client side certificate is verified, user's email is | | +| retrieved from the certificate and matched against the one supplied by the user. If they match, | | +| the user logs in with regular email/password credentials. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------+ .. config:setting:: export-output-directory :displayname: Export output directory (Experimental) :systemconsole: N/A :configjson: .ExportSettings.Directory - :environment: N/A + :environment: MM_EXPORTSETTINGS_DIRECTORY :description: The directory where the exported files are stored. The path is relative to the ``FileSettings`` directory. Default value is **./export**. Export output directory @@ -1225,12 +1225,12 @@ 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 ``FileSettings`` | - System Config path: N/A | -| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``ExportSettings`` > ``Directory`` | -| | - Environment variable: N/A | -| String input. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| The directory where the exported files are stored. The path is relative to the ``FileSettings`` | - System Config path: N/A | +| directory. By default, exports are stored under ``./data/export``. | - ``config.json`` setting: ``ExportSettings`` > ``Directory`` > ``"./export"`` | +| | - Environment variable: MM_EXPORTSETTINGS_DIRECTORY | +| String input. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1240,7 +1240,7 @@ The directory where the exported files are stored. The path is relative to the ` :displayname: Export retention days (Experimental) :systemconsole: N/A :configjson: .ExportSettings.RetentionDays - :environment: N/A + :environment: MM_EXPORTSETTINGS_RETENTIONDAYS :description: The number of days to retain the exported files before deleting them. Default value is **30** days. Export retention days @@ -1248,11 +1248,11 @@ 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. | - System Config path: N/A | -| | - ``config.json`` setting: ``ExportSettings`` > ``RetentionDays`` | -| Numerical input. | - Environment variable: N/A | -+-------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------------+------------------------------------------------------------------------------+ +| The number of days to retain the exported files before deleting them. | - System Config path: N/A | +| | - ``config.json`` setting: ``ExportSettings`` > ``RetentionDays`` > ``30`` | +| Numerical input. | - Environment variable: MM_EXPORTSETTINGS_RETENTIOND | ++-------------------------------------------------------------------------------+------------------------------------------------------------------------------+ .. note:: @@ -1262,7 +1262,7 @@ The number of days to retain the exported files before deleting them. :displayname: Maximum image resolution (Experimental) :systemconsole: N/A :configjson: MaxImageResolution - :environment: N/A + :environment: MM_FILESETTINGS_MAXIMAGERESOLUTION :description: Maximum image resolution size for message attachments in pixels. Default value is **33177600** pixels. Maximum image resolution @@ -1270,11 +1270,11 @@ Maximum image resolution Maximum image resolution size for message attachments in pixels. -+----------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | -| | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageResolution`` | -| Numerical input. Default value is **33177600** pixels. | - Environment variable: N/A | -+----------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ +| Maximum image resolution size for message attachments in pixels. | - System Config path: N/A | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageResolution`` > ``33177600`` | +| Numerical input. Default value is **33177600** pixels. | - Environment variable: MM_FILESETTINGS_MAXIMAGERESOLUTION | ++----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ .. note:: @@ -1284,7 +1284,7 @@ Maximum image resolution size for message attachments in pixels. :displayname: Maximum image decoder concurrency (Experimental) :systemconsole: N/A :configjson: MaxImageDecoderConcurrency - :environment: N/A + :environment: MM_FILESETTINGS_MAXIMAGEDECODERCONCURRENCY :description: 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. Maximum image decoder concurrency @@ -1292,12 +1292,12 @@ 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 ``-1`` configures | - System Config path: N/A | -| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageDecoderConcurrency`` | -| | - Environment variable: N/A | -| Numerical input. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ +| Indicates how many images can be decoded concurrently at once. The default value of ``-1`` configures | - System Config path: N/A | +| Mattermost to automatically use the number of CPUs present. | - ``config.json`` setting: ``ExperimentalSettings`` > ``MaxImageDecoderConcurrency`` > ``-1`` | +| | - Environment variable: MM_FILESETTINGS_MAXIMAGEDECODERCONCURRENCY | +| Numerical input. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1310,7 +1310,7 @@ Indicates how many images can be decoded concurrently at once. The default value :displayname: Initial font (Experimental) :systemconsole: N/A :configjson: InitialFont - :environment: N/A + :environment: MM_FILESETTINGS_INITIALFONT :description: Font used in auto-generated profile pics with colored backgrounds. Default value is **luximbi.ttf**. Initial font @@ -1318,11 +1318,11 @@ Initial font Font used in auto-generated profile pics with colored backgrounds. -+-------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | -| | - ``config.json`` setting: ``ExperimentalSettings`` > ``InitialFont`` | -| String input. Default value is **luximbi.ttf**. | - Environment variable: N/A | -+-------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ +| Font used in auto-generated profile pics with colored backgrounds. | - System Config path: N/A | +| | - ``config.json`` setting: ``ExperimentalSettings`` > ``InitialFont`` > ``"luximbi.ttf"`` | +| String input. Default value is **luximbi.ttf**. | - Environment variable: MM_FILESETTINGS_INITIALFONT | ++-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ .. note:: @@ -1332,7 +1332,7 @@ Font used in auto-generated profile pics with colored backgrounds. :displayname: Amazon S3 signature v2 (Experimental) :systemconsole: N/A :configjson: AmazonS3SignV2 - :environment: N/A + :environment: MM_FILESETTINGS_AMAZONS3SIGNV2 - **true**: Use Signature Version 2 Signing Process. - **false**: **(Default)** Use Signature Version 4 Signing Process. @@ -1340,17 +1340,17 @@ Font used in auto-generated profile pics with colored backgrounds. Amazon S3 signature v2 ~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls which AWS signature version is | - System Config path: N/A | -| used for signing API calls to Amazon S3. By | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3SignV2`` | -| default, Mattermost uses Signature V4 to sign API calls | - Environment variable: N/A | -| to AWS, but under some circumstances, V2 is | | -| required. | | -| | | -| - **true**: Use Signature Version 2 Signing Process. | | -| - **false**: **(Default)** Use Signature Version 4 | | -| Signing Process. | | -+----------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------+-------------------------------------------------------------------------------+ +| This setting controls which AWS signature version is | - System Config path: N/A | +| used for signing API calls to Amazon S3. By | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3SignV2`` > ``false`` | +| default, Mattermost uses Signature V4 to sign API calls | - Environment variable: MM_FILESETTINGS_AMAZONS3SIGNV2 | +| to AWS, but under some circumstances, V2 is | | +| required. | | +| | | +| - **true**: Use Signature Version 2 Signing Process. | | +| - **false**: **(Default)** Use Signature Version 4 | | +| Signing Process. | | ++----------------------------------------------------------------+-------------------------------------------------------------------------------+ .. note:: @@ -1367,15 +1367,15 @@ Amazon S3 signature v2 Amazon S3 path ~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The AmazonS3PathPrefix config setting specifies a subdirectory prefix within your S3 bucket where | - System Config path: N/A | -| Mattermost stores files. | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3PathPrefix`` | -| | - Environment variable: ``MM_FILESETTINGS_AMAZONS3PATHPREFIX`` | -| 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 **("")**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ +| The AmazonS3PathPrefix config setting specifies a subdirectory prefix within your S3 bucket where | - System Config path: N/A | +| Mattermost stores files. | - ``config.json`` setting: ``FileSettings`` > ``AmazonS3PathPrefix`` > ``""`` | +| | - Environment variable: ``MM_FILESETTINGS_AMAZONS3PATHPREFIX`` | +| 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:: @@ -1393,7 +1393,7 @@ GitLab scope +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ | The GitLab scope experimental config setting controls OAuth scopes for GitLab authentication. | - System Config path: N/A | -| | - ``config.json`` setting: ``GitLabSettings`` > ``Scope`` | +| | - ``config.json`` setting: ``GitLabSettings`` > ``Scope`` > ``""`` | | Possible values: | - Environment variable: ``MM_GITLABSETTINGS_SCOPE`` | | | | | - Empty string **("")** - Standard OAuth 2.0 flow | | @@ -1414,7 +1414,7 @@ GitLab scope :displayname: Global relay SMTP server timeout (Experimental) :systemconsole: N/A :configjson: GlobalRelaySettings.SMTPServerTimeout - :environment: N/A + :environment: MM_MESSAGEEXPORTSETTINGS_GLOBALRELAYSETTINGS_SMTPSERVERTIMEOUT :description: The number of seconds that can elapse before the connection attempt to the SMTP server is abandoned. Default is **1800** seconds. Global relay SMTP server timeout @@ -1423,12 +1423,12 @@ Global relay SMTP server timeout .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -+---------------------------------------------------------+--------------------------------------------------------------------------------+ -| The number of seconds that can elapse before the | - System Config path: N/A | -| connection attempt to the SMTP server is abandoned. | - ``config.json`` setting: ``GlobalRelaySettings`` > ``SMTPServerTimeout`` | -| | - Environment variable: N/A | -| Numerical input. Default is **1800** seconds. | | -+---------------------------------------------------------+--------------------------------------------------------------------------------+ ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ +| The number of seconds that can elapse before the | - System Config path: N/A | +| connection attempt to the SMTP server is abandoned. | - ``config.json`` setting: ``GlobalRelaySettings`` > ``SMTPServerTimeout`` > ``1800`` | +| | - Environment variable: MM_MESSAGEEXPORTSETTINGS_GLOBALRELAYSETTINGS_SMTPSERVERTIMEOUT | +| Numerical input. Default is **1800** seconds. | | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1438,7 +1438,7 @@ Global relay SMTP server timeout :displayname: Google scope (Experimental) :systemconsole: N/A :configjson: Scope - :environment: N/A + :environment: MM_GOOGLESETTINGS_SCOPE :description: Standard setting for OAuth to determine the scope of information shared with OAuth client. Default value is **profile email**. Google scope @@ -1447,13 +1447,13 @@ Google scope .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+-----------------------------------------------------------+--------------------------------------------------------------------------+ -| Standard setting for OAuth to determine the scope of | - System Config path: N/A | -| information shared with OAuth client. Recommended | - ``config.json`` setting: ``GoogleSettings`` > ``Scope`` | -| setting is ``profile email``. | - Environment variable: N/A | -| | | -| String input. Default is **profile email**. | | -+-----------------------------------------------------------+--------------------------------------------------------------------------+ ++-----------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Standard setting for OAuth to determine the scope of | - System Config path: N/A | +| information shared with OAuth client. Recommended | - ``config.json`` setting: ``GoogleSettings`` > ``Scope`` > ``"profile email"`` | +| setting is ``profile email``. | - Environment variable: MM_GOOGLESETTINGS_SCOPE | +| | | +| String input. Default is **profile email**. | | ++-----------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1463,20 +1463,20 @@ Google scope :displayname: Import input directory (Experimental) :systemconsole: N/A :configjson: ImportSettings.Directory - :environment: N/A + :environment: MM_IMPORTSETTINGS_DIRECTORY :description: The directory where the imported files are stored. The path is relative to the ``FileSettings`` directory. Default value is **./import**. Import input directory ~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------+--------------------------------------------------------------------------+ -| The directory where the imported files are stored. | - System Config path: N/A | -| The path is relative to the ``FileSettings`` | - ``config.json`` setting: ``ImportSettings`` > ``Directory`` | -| directory. By default, imports are stored | - Environment variable: N/A | -| under ``./data/import``. | | -| | | -| String input. Default is **./import**. | | -+----------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------+----------------------------------------------------------------------------------+ +| The directory where the imported files are stored. | - System Config path: N/A | +| The path is relative to the ``FileSettings`` | - ``config.json`` setting: ``ImportSettings`` > ``Directory`` > ``"./import"`` | +| directory. By default, imports are stored | - Environment variable: MM_IMPORTSETTINGS_DIRECTORY | +| under ``./data/import``. | | +| | | +| String input. Default is **./import**. | | ++----------------------------------------------------------+----------------------------------------------------------------------------------+ .. note:: @@ -1486,17 +1486,17 @@ Import input directory :displayname: Import retention days (Experimental) :systemconsole: N/A :configjson: ImportSettings.RetentionDays - :environment: N/A + :environment: MM_IMPORTSETTINGS_RETENTIONDAYS :description: The number of days to retain the imported files before deleting them. Default is **30** days. Import retention days ~~~~~~~~~~~~~~~~~~~~~ -+---------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The number of days to retain the imported files before deleting them. | - System Config path: N/A | -| | - ``config.json`` setting: ``ImportSettings`` > ``RetentionDays`` | -| Numerical input. Default is **30** days. | - Environment variable: N/A | -+---------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ +| The number of days to retain the imported files before deleting them. | - System Config path: N/A | +| | - ``config.json`` setting: ``ImportSettings`` > ``RetentionDays`` > ``30`` | +| Numerical input. Default is **30** days. | - Environment variable: MM_IMPORTSETTINGS_RETENTIONDAYS | ++---------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ .. note:: @@ -1506,7 +1506,7 @@ Import retention days :displayname: Export from timestamp (Experimental) :systemconsole: N/A :configjson: ExportFromTimestamp - :environment: N/A + :environment: MM_MESSAGEEXPORTSETTINGS_EXPORTFROMTIMESTAMP :description: Set the Unix timestamp (seconds since epoch, UTC) to export data from. Default is **0**. Export from timestamp @@ -1515,11 +1515,11 @@ Export from timestamp .. include:: ../_static/badges/ent-only.rst :start-after: :nosearch: -+-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Set the Unix timestamp (seconds since epoch, UTC) to export data from. | - System Config path: N/A | -| | - ``config.json`` setting: ``ExportSettings`` > ``ExportFromTimestamp`` | -| Numerical input. Default is **0**. | - Environment variable: N/A | -+-----------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++-----------------------------------------------------------------------------+----------------------------------------------------------------------------------+ +| Set the Unix timestamp (seconds since epoch, UTC) to export data from. | - System Config path: N/A | +| | - ``config.json`` setting: ``ExportSettings`` > ``ExportFromTimestamp`` > ``0`` | +| Numerical input. Default is **0**. | - Environment variable: MM_MESSAGEEXPORTSETTINGS_EXPORTFROMTIMESTAMP | ++-----------------------------------------------------------------------------+----------------------------------------------------------------------------------+ .. note:: @@ -1529,7 +1529,7 @@ Export from timestamp :displayname: Block profile rate (Experimental) :systemconsole: N/A :configjson: BlockProfileRate - :environment: N/A + :environment: MM_METRICSSETTINGS_BLOCKPROFILERATE Value that controls the `fraction of goroutine blocking events reported in the blocking profile `_. To include every blocking event in the profile, set the rate to ``1``. To turn off profiling entirely, set the rate to ``0``. @@ -1538,16 +1538,16 @@ Export from timestamp Block profile rate ~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Value that controls the `fraction of goroutine blocking events reported in the blocking profile | - System Config path: N/A | -| `_. The profiler aims to sample an average of one | - ``config.json`` setting: ``ServiceSettings`` > ``BlockProfileRate`` | -| blocking event per rate nanoseconds spent blocked. | - Environment variable: N/A | -| | | -| To include every blocking event in the profile, set the rate to ``1``. To turn off profiling entirely, | | -| set the rate to ``0``. | | -| | | -| Numerical input with options ``0`` and ``1``. Default is **0**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ +| Value that controls the `fraction of goroutine blocking events reported in the blocking profile | - System Config path: N/A | +| `_. The profiler aims to sample an average of one | - ``config.json`` setting: ``ServiceSettings`` > ``BlockProfileRate`` > ``0`` | +| blocking event per rate nanoseconds spent blocked. | - Environment variable: MM_METRICSSETTINGS_BLOCKPROFILERATE | +| | | +| To include every blocking event in the profile, set the rate to ``1``. To turn off profiling entirely, | | +| set the rate to ``0``. | | +| | | +| Numerical input with options ``0`` and ``1``. Default is **0**. | | ++----------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------+ .. note:: @@ -1557,7 +1557,7 @@ Block profile rate :displayname: Entra ID scope (Experimental) :systemconsole: N/A :configjson: Scope - :environment: N/A + :environment: MM_OFFICE365SETTINGS_SCOPE :description: Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended setting is ``User.Read``. Entra ID Scope @@ -1566,12 +1566,12 @@ Entra ID Scope .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended | - System Config path: N/A | -| setting is ``User.Read``. | - ``config.json`` setting: ``Office365Settings`` > ``Scope`` | -| | - Environment variable: N/A | -| String input. Default is **User.Read**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| Standard setting for OAuth to determine the scope of information shared with OAuth client. Recommended | - System Config path: N/A | +| setting is ``User.Read``. | - ``config.json`` setting: ``Office365Settings`` > ``Scope`` > ``"User.Read"`` | +| | - Environment variable: MM_OFFICE365SETTINGS_SCOPE | +| String input. Default is **User.Read**. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1581,7 +1581,7 @@ Entra ID Scope :displayname: Enable plugin uploads (Experimental) :systemconsole: N/A :configjson: EnableUploads - :environment: N/A + :environment: MM_PLUGINSETTINGS_ENABLEUPLOADS - **true**: Enables plugin uploads by system admins at **Plugins > Management**. - **false**: **(Default)** Disables plugin uploads on your Mattermost server. @@ -1589,15 +1589,15 @@ Entra ID Scope Enable plugin uploads ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| This setting controls whether system administrators can upload plugins through the System Console. | - System Config path: N/A | -| | - ``config.json`` setting: ``PluginSettings`` > ``EnableUploads`` | -| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - Environment variable: N/A | -| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | | -| `documentation `__ to | | -| learn more. | | -| - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ +| This setting controls whether system administrators can upload plugins through the System Console. | - System Config path: N/A | +| | - ``config.json`` setting: ``PluginSettings`` > ``EnableUploads`` > ``false`` | +| - **true**: Enables plugin uploads by system admins at **Plugins > Management**. If you do not plan | - Environment variable: MM_PLUGINSETTINGS_ENABLEUPLOADS | +| to upload a plugin, set to ``false`` to control which plugins are installed on your server. See | | +| `documentation `__ to | | +| learn more. | | +| - **false**: **(Default)** Disables plugin uploads on your Mattermost server. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------+ .. note:: @@ -1607,7 +1607,7 @@ Enable plugin uploads :displayname: Allow insecure download URL (Experimental) :systemconsole: N/A :configjson: AllowInsecureDownloadUrl - :environment: N/A + :environment: MM_PLUGINSETTINGS_ALLOWINSECUREDOWNLOADURL - **true**: Enables downloading and installing a plugin from a remote URL. - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. @@ -1617,18 +1617,18 @@ 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. | - System Config path: N/A | -| | - ``config.json`` setting: ``PluginSettings`` > ``AllowInsecureDownloadUrl`` | -| - **true**: Enables downloading and installing a plugin from a remote URL. | - Environment variable: N/A | -| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+ +| This setting controls whether plugins can be downloaded and installed from remote URLs. | - System Config path: N/A | +| | - ``config.json`` setting: ``PluginSettings`` > ``AllowInsecureDownloadUrl`` > ``false`` | +| - **true**: Enables downloading and installing a plugin from a remote URL. | - Environment variable: MM_PLUGINSETTINGS_ALLOWINSECUREDOWNLOADURL | +| - **false**: **(Default)** Disables downloading and installing a plugin from a remote URL. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------+ .. config:setting:: enable-plugin-health-check :displayname: Enable plugin health check (Experimental) :systemconsole: N/A :configjson: EnableHealthCheck - :environment: N/A + :environment: MM_PLUGINSETTINGS_ENABLEHEALTHCHECK - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, and restarted or deactivated based on their health status. - **false**: Disables plugin health check on your Mattermost server. @@ -1638,30 +1638,30 @@ Enable plugin health check This setting isn't available in the System Console and can only be set in ``config.json``. -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | -| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``PluginSettings`` > ``EnableHealthCheck`` | -| If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: N/A | -| it. If the restart fails 3 successive times, it's automatically disabled. | | -| - **false**: Disables plugin health check on your Mattermost server. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables plugin health check to ensure all plugins are periodically monitored, | - System Config path: N/A | +| and restarted or deactivated based on their health status. The health check runs every 30 seconds. | - ``config.json`` setting: ``PluginSettings`` > ``EnableHealthCheck`` > ``true`` | +| If the plugin is detected to fail 3 times within an hour, the Mattermost server attempts to restart | - Environment variable: MM_PLUGINSETTINGS_ENABLEHEALTHCHECK | +| it. If the restart fails 3 successive times, it's automatically disabled. | | +| - **false**: Disables plugin health check on your Mattermost server. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. config:setting:: plugin-directory :displayname: Plugin directory (Experimental) :systemconsole: N/A :configjson: Directory - :environment: N/A + :environment: MM_PLUGINSETTINGS_DIRECTORY :description: The location of the plugin files. If blank, they are stored in the ``./plugins`` directory. Default value is **./plugins**. Plugin directory ~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The location of the plugin files. If blank, they are stored in the ``./plugins`` directory. The path | - System Config path: N/A | -| that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``Directory`` | -| | - Environment variable: N/A | -| String input. Default is **./plugins**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| The location of the plugin files. If blank, they are stored in the ``./plugins`` directory. The path | - System Config path: N/A | +| that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``Directory`` > ``"./plugins"`` | +| | - Environment variable: MM_PLUGINSETTINGS_DIRECTORY | +| String input. Default is **./plugins**. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1671,18 +1671,18 @@ Plugin directory :displayname: Client plugin directory (Experimental) :systemconsole: N/A :configjson: ClientDirectory - :environment: N/A + :environment: MM_PLUGINSETTINGS_CLIENTDIRECTORY :description: The location of client plugin files. If blank, they are stored in the ``./client/plugins`` directory. Default value is **./client/plugins**. Client plugin directory ~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The location of client plugin files. If blank, they are stored in the ``./client/plugins`` directory. | - System Config path: N/A | -| The path that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``ClientDirectory`` | -| | - Environment variable: N/A | -| String input. Default is **./client/plugins**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| The location of client plugin files. If blank, they are stored in the ``./client/plugins`` directory. | - System Config path: N/A | +| The path that you set must exist and Mattermost must have write permissions in it. | - ``config.json`` setting: ``PluginSettings`` > ``ClientDirectory`` > ``"./client/plugins"`` | +| | - Environment variable: MM_PLUGINSETTINGS_CLIENTDIRECTORY | +| String input. Default is **./client/plugins**. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1692,7 +1692,7 @@ Client plugin directory :displayname: Scoping IDP provider ID (Experimental) :systemconsole: N/A :configjson: ScopingIDPProviderId - :environment: N/A + :environment: MM_SAMLSETTINGS_SCOPINGIDPPROVIDERID :description: Allows an authenticated user to skip the initial login page of their federated Azure AD server, and only require a password to log in. Scoping IDP provider ID @@ -1701,12 +1701,12 @@ Scoping IDP provider ID .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Allows an authenticated user to skip the initial login page of their federated Azure AD server, and | - System Config path: N/A | -| only require a password to log in. | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPProviderId`` | -| | - Environment variable: N/A | -| String input. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| Allows an authenticated user to skip the initial login page of their federated Azure AD server, and | - System Config path: N/A | +| only require a password to log in. | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPProviderId`` > ``""`` | +| | - Environment variable: MM_SAMLSETTINGS_SCOPINGIDPPROVIDERID | +| String input. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1716,7 +1716,7 @@ Scoping IDP provider ID :displayname: Scoping IDP provider name (Experimental) :systemconsole: N/A :configjson: ScopingIDPName - :environment: N/A + :environment: MM_SAMLSETTINGS_SCOPINGIDPNAME :description: Adds the name associated with a user's Scoping Identity Provider ID. Scoping IDP provider name @@ -1725,11 +1725,11 @@ Scoping IDP provider name .. include:: ../_static/badges/ent-pro-only.rst :start-after: :nosearch: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Adds the name associated with a user's Scoping Identity Provider ID. | - System Config path: N/A | -| | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPName`` | -| String input. | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ +| Adds the name associated with a user's Scoping Identity Provider ID. | - System Config path: N/A | +| | - ``config.json`` setting: ``SamlSettings`` > ``ScopingIDPName`` > ``""`` | +| String input. | - Environment variable: MM_SAMLSETTINGS_SCOPINGIDPNAME | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1745,22 +1745,22 @@ Scoping IDP provider name Group unread channels ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ -| The ExperimentalGroupUnreadChannels config setting controls whether unread channels are grouped | - System Config path: N/A | -| separately in the sidebar. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalGroupUnreadChannels`` | -| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | -| Possible values: | | -| | | -| - **"disabled"** - Unread channels grouping is disabled | | -| - **"default_on"** - Enabled by default for new users | | -| - **"default_off"** - Available but disabled by default for new users | | -| | | -| This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar | | -| ` configuration setting to see and | | -| enable this functionality in the System Console. | | -| | | -| String input. Default is **"disabled"**. | | -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ +| The ExperimentalGroupUnreadChannels config setting controls whether unread channels are grouped | - System Config path: N/A | +| separately in the sidebar. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalGroupUnreadChannels`` > ``"disabled"`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALGROUPUNREADCHANNELS`` | +| Possible values: | | +| | | +| - **"disabled"** - Unread channels grouping is disabled | | +| - **"default_on"** - Enabled by default for new users | | +| - **"default_off"** - Available but disabled by default for new users | | +| | | +| This setting applies to the new sidebar only. You must disable the :ref:`Enable Legacy Sidebar | | +| ` configuration setting to see and | | +| enable this functionality in the System Console. | | +| | | +| String input. Default is **"disabled"**. | | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------+ .. note:: @@ -1780,14 +1780,14 @@ 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 | - System Config path: N/A | -| for enhanced security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalStrictCSRFEnforcement`` | -| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | -| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | | -| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | | -| - **false**: **(Default)** Disables CSRF protection tokens. | | -+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ +| This setting controls whether additional CSRF (Cross-Site Request Forgery) protection tokens are used | - System Config path: N/A | +| for enhanced security. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalStrictCSRFEnforcement`` > ``false`` | +| | - Environment variable: ``MM_SERVICESETTINGS_EXPERIMENTALSTRICTCSRFENFORCEMENT`` | +| - **true**: Enables CSRF protection tokens for additional hardening compared to the currently used | | +| custom header. When the user logs in, an additional cookie is created with the CSRF token contained. | | +| - **false**: **(Default)** Disables CSRF protection tokens. | | ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------+ .. config:setting:: developer-flags :displayname: Developer flags (Experimental) @@ -1799,23 +1799,23 @@ This setting isn't available in the System Console and can only be set in ``conf Developer flags ~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The DeveloperFlags config setting controls Content Security Policy (CSP) directives for debugging | - System Config path: N/A | -| purposes. | - ``config.json`` setting: ``ServiceSettings`` > ``DeveloperFlags`` | -| | - Environment variable: ``MM_SERVICESETTINGS_DEVELOPERFLAGS`` | -| Possible values: Comma-separated key-value pairs in format key=value: | | -| | | -| - **"unsafe-eval=true"** - Allows eval() functions for faster source maps | | -| - **"unsafe-inline=true"** - Allows inline scripts/styles for React/Redux DevTools | | -| - **"unsafe-eval=true,unsafe-inline=true"** - Enables both flags | | -| | | -| Only flags set to "true" are honored, and unrecognized flags generate warning logs. | | -| | | -| This configuration setting requires :ref:`developer mode | | -| ` to be enabled. | | -| | | -| String input. Default is empty string **("")**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| The DeveloperFlags config setting controls Content Security Policy (CSP) directives for debugging | - System Config path: N/A | +| purposes. | - ``config.json`` setting: ``ServiceSettings`` > ``DeveloperFlags`` > ``""`` | +| | - Environment variable: ``MM_SERVICESETTINGS_DEVELOPERFLAGS`` | +| Possible values: Comma-separated key-value pairs in format key=value: | | +| | | +| - **"unsafe-eval=true"** - Allows eval() functions for faster source maps | | +| - **"unsafe-inline=true"** - Allows inline scripts/styles for React/Redux DevTools | | +| - **"unsafe-eval=true,unsafe-inline=true"** - Enables both flags | | +| | | +| Only flags set to "true" are honored, and unrecognized flags generate warning logs. | | +| | | +| This configuration setting requires :ref:`developer mode | | +| ` to be enabled. | | +| | | +| String input. Default is empty string **("")**. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1825,17 +1825,17 @@ Developer flags :displayname: Enable post search (Experimental) :systemconsole: N/A :configjson: EnablePostSearch - :environment: N/A + :environment: MM_SERVICESETTINGS_ENABLEPOSTSEARCH :description: If this setting is enabled, users can search messages. Default is **true**. Enable post search ~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | -| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``ServiceSettings`` > ``EnablePostSearch`` | -| | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables searching for messages in their Mattermost instance. | - System Config path: N/A | +| - **false**: Disables searching for messages in their Mattermost instance. | - ``config.json`` setting: ``ServiceSettings`` > ``EnablePostSearch`` > ``true`` | +| | - Environment variable: MM_SERVICESETTINGS_ENABLEPOSTSEARCH | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ .. note:: @@ -1843,28 +1843,29 @@ Enable post search 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. + - **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. .. config:setting:: enable-file-search :displayname: Enable file search (Experimental) :systemconsole: N/A :configjson: EnableFileSearch - :environment: N/A + :environment: MM_SERVICESETTINGS_ENABLEFILESEARCH :description: This configuration setting enables users to search documents attached to messages by filename. Default is **true**. Enable file search ~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | -| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableFileSearch`` | -| | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| - **true**: **(Default)** Supported document types are searchable by their filename. | - System Config path: N/A | +| - **false**: File-based searches are disabled. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableFileSearch`` > ``true`` | +| | - Environment variable: MM_SERVICESETTINGS_ENABLEFILESEARCH | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ .. note:: @@ -1882,68 +1883,68 @@ Enable file search :displayname: Enable user status updates (Experimental) :systemconsole: N/A :configjson: EnableUserStatuses - :environment: N/A + :environment: MM_SERVICESETTINGS_ENABLEUSERSTATUSES :description: Turn status updates off to improve performance. Default is **true**. Enable user status updates ~~~~~~~~~~~~~~~~~~~~~~~~~~ -This setting isn't available in the System Console and can only be set in ``config.json``. ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | +| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserStatuses`` > ``true`` | +| online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: MM_SERVICESETTINGS_ENABLEUSERSTATUSES | +| the message is posted. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -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. +.. note:: -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| - **true**: **(Default)** Enables user status updates. | - System Config path: N/A | -| - **false**: Turn status updates off to improve performance. When status updates are off, users appear | - ``config.json`` setting: ``ServiceSettings`` > ``EnableUserStatuses`` | -| online only for brief periods when posting a message, and only to members of the channel in which | - Environment variable: N/A | -| the message is posted. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ + - 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. .. config:setting:: websocket-secure-port :displayname: Websocket secure port (Experimental) :systemconsole: N/A :configjson: WebsocketSecurePort - :environment: N/A + :environment: MM_SERVICESETTINGS_WEBSOCKETSECUREPORT :description: This setting defines the port on which the secured WebSocket will listen using the ``wss`` protocol. Default is **443**. Websocket secure port ~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| (Optional) This setting defines the port on which the secured WebSocket is listening using the ``wss`` | - System Config path: N/A | -| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketSecurePort`` | -| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: N/A | -| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | -| HTTPS AND WSS. | | -| | | -| Numerical input. Default is **443**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ +| (Optional) This setting defines the port on which the secured WebSocket is listening using the ``wss`` | - System Config path: N/A | +| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketSecurePort`` > ``443`` | +| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: MM_SERVICESETTINGS_WEBSOCKETSECUREPORT | +| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | +| HTTPS AND WSS. | | +| | | +| 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 :ref:`Web server listen address ` setting. + - 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 :ref:`Web server listen address ` setting. .. config:setting:: websocket-port :displayname: Websocket port (Experimental) :systemconsole: N/A :configjson: WebsocketPort - :environment: N/A + :environment: MM_SERVICESETTINGS_WEBSOCKETPORT :description: This setting defines the port on which the unsecured WebSocket will listen using the ``ws`` protocol. Default is **80**. Websocket port ~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| (Optional) This setting defines the port on which the unsecured WebSocket is listening using the ``ws`` | - System Config path: N/A | -| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketPort`` | -| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: N/A | -| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | -| HTTPS AND WSS. | | -| | | -| Numerical input. Default is **80**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +| (Optional) This setting defines the port on which the unsecured WebSocket is listening using the ``ws`` | - System Config path: N/A | +| protocol. When the client attempts to make a WebSocket connection it first checks to see if the page | - ``config.json`` setting: ``ServiceSettings`` > ``WebsocketPort`` > ``80`` | +| is loaded with HTTPS. If so, it will use the secure WebSocket connection. If not, it will use the | - Environment variable: MM_SERVICESETTINGS_WEBSOCKETPORT | +| unsecure WebSocket connection. IT IS HIGHLY RECOMMENDED PRODUCTION DEPLOYMENTS ONLY OPERATE UNDER | | +| HTTPS AND WSS. | | +| | | +| Numerical input. Default is **80**. | | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ .. note:: @@ -1954,7 +1955,7 @@ Websocket port :displayname: Enable local mode for mmctl (Experimental) :systemconsole: N/A :configjson: EnableLocalMode - :environment: N/A + :environment: MM_SERVICESETTINGS_ENABLELOCALMODE - **true**: Enables local mode for mmctl. - **false**: **(Default)** Prevents local mode for mmctl. @@ -1964,13 +1965,13 @@ 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 | - System Config path: N/A | -| using local mode through a socket connection. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableLocalMode`` | -| | - Environment variable: N/A | -| - **true**: Enables local mode for mmctl. | | -| - **false**: **(Default)** Prevents local mode for mmctl. | | -+--------------------------------------------------------------------+--------------------------------------------------------------------------+ ++--------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| This setting controls whether mmctl can connect to the server | - System Config path: N/A | +| using local mode through a socket connection. | - ``config.json`` setting: ``ServiceSettings`` > ``EnableLocalMode`` > ``false`` | +| | - Environment variable: MM_SERVICESETTINGS_ENABLELOCALMODE | +| - **true**: Enables local mode for mmctl. | | +| - **false**: **(Default)** Prevents local mode for mmctl. | | ++--------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. tip:: @@ -1980,23 +1981,23 @@ This setting isn't available in the System Console and can only be set in ``conf :displayname: Enable local mode socket location (Experimental) :systemconsole: N/A :configjson: LocalModeSocketLocation - :environment: N/A + :environment: MM_SERVICESETTINGS_LOCALMODESOCKETLOCATION :description: The path for the socket that the server will create for mmctl to connect and communicate through local mode. Default value is **/var/tmp/mattermost_local.socket**. Enable local mode socket location ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| The path for the socket that the server will create for mmctl to connect and communicate through local | - System Config path: N/A | -| mode. If the default value for this key is changed, you will need to point mmctl to the new socket | - ``config.json`` setting: ``ServiceSettings`` > ``LocalModeSocketLocation`` | -| path when in local mode, using the ``--local-socket-path /new/path/to/socket`` flag in addition to | - Environment variable: N/A | -| the ``--local`` flag. | | -| | | -| If nothing is specified, the default path that both the server and mmctl assumes is | | -| ``/var/tmp/mattermost_local.socket``. | | -| | | -| String input. Default is **/var/tmp/mattermost_local.socket**. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| The path for the socket that the server will create for mmctl to connect and communicate through local | - System Config path: N/A | +| mode. If the default value for this key is changed, you will need to point mmctl to the new socket | - ``config.json`` setting: ``ServiceSettings`` > ``LocalModeSocketLocation`` > ``"/var/tmp/mattermost_local.socket"`` | +| path when in local mode, using the ``--local-socket-path /new/path/to/socket`` flag in addition to | - Environment variable: MM_SERVICESETTINGS_LOCALMODESOCKETLOCATION | +| the ``--local`` flag. | | +| | | +| If nothing is specified, the default path that both the server and mmctl assumes is | | +| ``/var/tmp/mattermost_local.socket``. | | +| | | +| String input. Default is **/var/tmp/mattermost_local.socket**. | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. note:: @@ -2006,20 +2007,20 @@ Enable local mode socket location :displayname: Default channels (Experimental) :systemconsole: N/A :configjson: ExperimentalDefaultChannels - :environment: N/A + :environment: MM_TEAMSETTINGS_EXPERIMENTALDEFAULTCHANNELS :description: 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. Default channels ~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Default channels every user is added to automatically after joining a new team. Only applies to Public | - System Config path: N/A | -| channels, but affects all teams on the server. | - ``config.json`` setting: ``ServiceSettings`` > ``ExperimentalDefaultChannels`` | -| | - Environment variable: N/A | -| When not set, every user is added to the ``town-square`` channel by default. | | -| | | -| String array input consisting of channel names, such as ``["announcement", "developers"]``. | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ +| Default channels every user is added to automatically after joining a new team. Only applies to Public | - System Config path: N/A | +| channels, but affects all teams on the server. | - ``config.json`` setting: ``TeamSettings`` > ``ExperimentalDefaultChannels`` > ``[]`` | +| | - Environment variable: MM_TEAMSETTINGS_EXPERIMENTALDEFAULTCHANNELS | +| When not set, every user is added to the ``town-square`` channel by default. | | +| | | +| String array input consisting of channel names, such as ``["announcement", "developers"]``. | | ++----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. note:: @@ -2045,7 +2046,7 @@ When running Mattermost in High Availability mode, ``RunJobs`` should be enabled :displayname: Run jobs (Experimental) :systemconsole: N/A :configjson: RunJobs - :environment: N/A + :environment: MM_JOBSETTINGS_RUNJOBS :description: Set whether or not this Mattermost server will handle tasks created by the Scheduler. Default is **true**. Run jobs @@ -2059,15 +2060,15 @@ When running Mattermost in :doc:`High Availablity mode ``RunJobs`` | -| | - Environment variable: N/A | +| - **false**: This Mattermost server will not handle tasks created by the Scheduler. | - ``config.json`` setting: ``JobSettings`` > ``RunJobs`` > ``true`` | +| | - Environment variable: MM_JOBSETTINGS_RUNJOBS | +----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ .. config:setting:: run-scheduler :displayname: Run scheduler (Experimental) :systemconsole: N/A :configjson: RunScheduler - :environment: N/A + :environment: MM_JOBSETTINGS_RUNSCHEDULER :description: Set whether or not this Mattermost server will schedule tasks that will be completed by a Worker. Default is **true**. Run scheduler @@ -2083,28 +2084,28 @@ When running Mattermost in :doc:`High Availablity mode ``RunScheduler`` | -| - **false**: This Mattermost server will not schedule tasks that will be completed by a Worker. | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ +| - **true**: **(Default)** This Mattermost server will schedule tasks that will be completed by a | - System Config path: N/A | +| Worker. | - ``config.json`` setting: ``JobSettings`` > ``RunScheduler`` > ``true`` | +| - **false**: This Mattermost server will not schedule tasks that will be completed by a Worker. | - Environment variable: MM_JOBSETTINGS_RUNSCHEDULER | ++----------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------+ .. config:setting:: clean-up-old-database-jobs :displayname: Clean up old database jobs (Experimental) :systemconsole: N/A :configjson: .JobSettings.CleanupJobsThresholdDays - :environment: N/A + :environment: MM_JOBSETTINGS_CLEANUPJOBSTHRESHOLDDAYS :description: Defines the threshold in hours beyond which older completed database jobs are removed. Must be set to a value greater than or equal to ``0`` to be enabled. Default value is **-1** Clean up old database jobs ~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Defines the threshold in days beyond which older completed database jobs are removed. This setting is | - System Config path: N/A | -| disabled by default, and must be set to a value greater than or equal to ``0`` to be enabled. | - ``config.json`` setting: ``JobSettings`` > ``CleanupJobsThresholdDays`` | -| | - Environment variable: N/A | -| Numerical input. Default is **-1** (disabled). | | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| Defines the threshold in days beyond which older completed database jobs are removed. This setting is | - System Config path: N/A | +| disabled by default, and must be set to a value greater than or equal to ``0`` to be enabled. | - ``config.json`` setting: ``JobSettings`` > ``CleanupJobsThresholdDays`` > ``-1`` | +| | - Environment variable: MM_JOBSETTINGS_CLEANUPJOBSTHRESHOLDDAYS | +| Numerical input. Default is **-1** (disabled). | | ++----------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ .. note:: @@ -2114,17 +2115,17 @@ Clean up old database jobs :displayname: Clean up outdated database entries (Experimental) :systemconsole: N/A :configjson: .JobSettings.CleanupConfigThresholdDays - :environment: N/A + :environment: MM_JOBSETTINGS_CLEANUPCONFIGTHRESHOLDDAYS :description: Defines the threshold in days beyond which outdated configurations are removed from the database. Default is **30** days. Clean up outdated database entries ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ -| Defines the threshold in days beyond which outdated configurations are removed from the database. | - System Config path: N/A | -| | - ``config.json`` setting: ``JobSettings`` > ``CleanupConfigThresholdDays`` | -| Numerical input. Default is **30** days. | - Environment variable: N/A | -+----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ +| Defines the threshold in days beyond which outdated configurations are removed from the database. | - System Config path: N/A | +| | - ``config.json`` setting: ``JobSettings`` > ``CleanupConfigThresholdDays`` > ``30`` | +| Numerical input. Default is **30** days. | - Environment variable: MM_JOBSETTINGS_CLEANUPCONFIGTHRESHOLDDAYS | ++----------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ .. note::