Site configuration settings#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Both self-hosted and Cloud admins can access the following configuration settings in the System Console by going to Site Configuration. Self-hosted admins can also edit the config.json file as described in the following tables.


Customization#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Customization.

Site name#

Name of the site shown in login screens and user interface.

String input. Maximum 30 characters. Default is Mattermost

  • System Config path: Site Configuration > Customization

  • config.json setting: TeamSettings > SiteName

  • Environment variable: MM_TEAMSETTINGS_SITENAME

Site description#

Text displayed above the login form. When not specified, the phrase “Log in” is displayed.

String input.

  • System Config path: Site Configuration > Customization

  • config.json setting: TeamSettings > CustomDescriptionText

  • Environment variable: MM_TEAMSETTINGS_CUSTOMDESCRIPTIONTEXT

Enable custom branding#

Also available in legacy Mattermost Enterprise Edition E10 or E20

  • true: Enables the display of a custom image and text on the login page

  • false: (Default) Custom branding is disabled

See also the custom brand image and custom brand text configuration settings for more branding options.

  • System Config path: Site Configuration > Customization

  • config.json setting: TeamSettings > EnableCustomBrand > false

  • Environment variable: MM_TEAMSETTINGS_ENABLECUSTOMBRAND

Custom brand image#

A JPG image for display on the login page. The image must be uploaded through the System Console. There is no config.json setting. The file should be smaller than 2 MB.

Enable custom branding must be set to true to display the image.

  • System Config path: Site Configuration > Customization

  • config.json setting: N/A

  • Environment variable: N/A

Custom brand text#

Text that will be shown below the Custom brand image on the login page. You can format this text using the same Markdown formatting as in Mattermost messages.

String input. Maximum 500 characters. Enable custom branding must be set to true to display the text.

  • System Config path: Site Configuration > Customization

  • config.json setting: TeamSettings > CustomBrandText

  • Environment variable: MM_TEAMSETTINGS_CUSTOMBRANDTEXT

Enable desktop app landing page#

  • true: (Default) Prompts users to use the desktop app.

  • false: Doesn’t prompt users to use the desktop app.

  • System Config path: Site Configuration > Customization

  • config.json setting: ServiceSettings > EnableDesktopLandingPage > true

  • Environment variable: MM_SERVICESETTINGS_ENABLEDESKTOPLANDINGPAGE

App custom URL schemes#

This setting isn’t available in the System Console and can only be set in config.json.

Define valid custom URL schemes for redirect links provided by custom-built mobile Mattermost apps. This ensures users are redirected to the custom-built mobile app and not Mattermost’s mobile client.

When configured, after OAuth or SAML user authentication is complete, custom URL schemes sent by mobile clients are validated to ensure they don’t include default schemes such as http or https. Mobile users are then redirected back to the mobile app using the custom scheme URL provided by the mobile client. We recommend that you update your mobile client values as well with valid custom URL schemes.

This feature’s config.json setting is "NativeAppSettings.AppCustomURLSchemes" with an array of strings as input separated by spaces.

For example:

  • MM_NativeAppSettings_AppCustomURLSchemes = mmauth:// mmauthbeta://

  • Via mmctl: mmctl config set NativeAppSettings.AppCustomURLSchemes "mmauth://" "mmauthbeta://"

Mobile external browser#

Note

deployment-img-yellow Available only for self-hosted deployments

From Mattermost v10.2 and Mobile v2.2.1, this setting configures the mobile app to perform SSO Authentication using the external default browser.

String input.

  • System Config path: N/A

  • config.json setting: NativeAppSettings.MobileExternalBrowser

  • Environment variable: MM_NATIVEAPPSETTINGS_MOBILEEXTERNALBROWSER


Localization#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Localization. Changes to configuration settings in this section require a server restart before taking effect.


The default language for system messages and logs.

Options: "bg", "de", "en", "en-AU", "es", "fa", "fr", "hu", "it", "ja", "ko", "nl", "pl", "pt-br", "ro", "ru", "sv", "tr", "uk", "vi", "zh-Hans", and "zh-Hant".

Default is "en".

  • System Config path: Site Configuration > Localization

  • config.json setting: LocalizationSettings > DefaultServerLocale

  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTSERVERLOCALE

Note

Changing this configuration setting changes the default server language for users who haven’t set a language preference via Settings. Mattermost applies the user’s language preference when specified.

Default client language#

The default language for new users and pages where the user isn’t logged in.

Options: "bg", "de", "en", "en-AU", "es", "fa", "fr", "hu", "it", "ja", "ko", "nl", "pl", "pt-br", "ro", "ru", "sv", "tr", "uk", "vi", "zh-Hans", and "zh-Hant".

Default is "en".

  • System Config path: Site Configuration > Localization

  • config.json setting: LocalizationSettings > DefaultClientLocale

  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTCLIENTLOCALE

Note

Changing this configuration setting changes the default client language for users who haven’t set a language preference via Settings. Mattermost applies the user’s language preference when specified.

Available languages#

Sets the list of languages users see under Settings > Display > Language. If this field is left blank, users see all supported languages. Newly supported languages are added automatically. If this field is not blank, it must contain the Default client language, in addition to any other languages. For example, to limit the language choices to US English and Español (es), the string would be ”en,es”.

Options: "bg", "de", "en", "en-AU", "es", "fa", "fr", "hu", "it", "ja", "ko", "nl", "pl", "pt-br", "ro", "ru", "sv", "tr", "uk", "vi", "zh-Hans", and "zh-Hant".

Default is "en".

  • System Config path: Site Configuration > Localization

  • config.json setting: LocalizationSettings > AvailableLocales

  • Environment variable: MM_LOCALIZATIONSETTINGS_AVAILABLELOCALES


Users and teams#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Users and Teams.

Max users per team#

The Max users per team is the maximum total number of users per team, including activated and deactivated users.

In Mattermost, a team of people should be a small organization with a specific goal. In the physical world, a team could sit around a single table. The default maximum (50) should be enough for most teams, but with appropriate hardware, this limit can be increased to thousands of users.

Channels are another way of organizing communications within teams on different topics.

Numerical input. Default is 50 self-hosted deployments, and 10000 for Cloud deployments.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > MaxUsersPerTeam > 50

  • Environment variable: MM_TEAMSETTINGS_MAXUSERSPERTEAM

Max channels per team#

The maximum number of channels per team, including both active and archived channels.

Numerical input. Default is 2000 for self-hosted deployments, and 10000 for Cloud deployments.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > MaxChannelsPerTeam > 2000

  • Environment variable: MM_TEAMSETTINGS_MAXCHANNELSPERTEAM

Enable join/leave messages by default#

Specify the default configuration of system messages displayed when users join or leave channels.

  • true: (Default) Join/Leave messages are displayed.

  • false: Join/Leave messages are hidden.

Users can override this default by going to Settings > Advanced > Enable Join/Leave Messages.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > EnableJoinLeaveMessageByDefault > true

  • Environment variable: MM_TEAMSETTINGS_ENABLEJOINLEAVEMESSAGEBYDEFAULT

Enable users to open direct message channels with#

This setting determines whether a user can open a direct message channel with anyone on the Mattermost server or only to members of the same team. This setting only affects the options presented in the user interface. It does not affect permissions on the backend server.

  • Any user on the Mattermost server: (Default) Users can send a direct message to any user through the Direct Messages > More menu. config.json setting: "any"

  • Any member of the team: The Direct Messages > More menu only allows direct messages to users on the same team. Pressing Ctrl K on Windows or Linux, or K on Mac, only lists other users on the team currently being viewed. A user who is a member of multiple teams can only send direct messages to the team that is being viewed. However, the user can receive messages from other teams, regardless of the team currently being viewed. config.json setting: "team"

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > RestrictDirectMessage

  • Environment variable: MM_TEAMSETTINGS_RESTRICTDIRECTMESSAGE

Teammate name display#

This setting determines how names appear in posts and under the Direct Messages list. Users can change this setting in their interface under Settings > Display > Teammate Name Display, unless this setting is locked by a system admin via the Lock teammate name display for all users configuration setting.

  • Show username: (Default for self-hosted deployments) Displays usernames. config.json option: "username".

  • Show nickname if one exists…: Displays the user’s nickname. If the user doesn’t have a nickname, their full name is displayed. If the user doesn’t have a full name, their username is displayed. config.json option: "nickname_full_name".

  • Show first and last name: (Default for Cloud deployments) Displays user’s full name. If the user doesn’t have a full name, their username is displayed. Recommended when using SAML or LDAP if first name and last name attributes are configured. config.json option: "full_name".

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > TeammateNameDisplay > username

  • Environment variable: MM_TEAMSETTINGS_TEAMMATENAMEDISPLAY

Lock teammate name display for all users#

Note

plans-img-yellow Available only on Enterprise plans

This setting controls whether users can change settings under Settings > Display > Teammate Name Display.

  • true: Users cannot change the Teammate Name Display.

  • false: (Default) Users can change the Teammate Name Display setting.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > LockTeammateNameDisplay > false

  • Environment variable: MM_TEAMSETTINGS_LOCKTEAMMATENAMEDISPLAY

Allow users to view archived channels#

  • true: (Default) Allows users to access the content of archived channels of which they were a member.

  • false: Users are unable to access content in archived channels.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > ExperimentalViewArchivedChannels > true

  • Environment variable: MM_TEAMSETTINGS_EXPERIMENTALVIEWARCHIVEDCHANNELS

Note

Cloud admins can’t modify this configuration setting.

Show email address#

  • true: (Default) All users can see the email addresses of every other user.

  • false: Hides email addresses in the client user interface, except from system admins and the System Roles with read/write access to Compliance, Billing, or User Management (users/teams/channels/groups etc).

  • System Config path: Site Configuration > Users and teams

  • config.json setting: PrivacySettings > ShowEmailAddress > true

  • Environment variable: MM_PRIVACYSETTINGS_SHOWEMAILADDRESS

Show full name#

  • true: (Default) Full names are visible to all users in the client user interface.

  • false: Hides full names from all users, except system admins. Username is shown in place of the full name.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: PrivacySettings > ShowFullName > true

  • Environment variable: MM_PRIVACYSETTINGS_SHOWFULLNAME

Enable custom user statuses#

  • true: (Default) Users can set status messages and emojis that are visible to all users.

  • false: Users cannot set custom statuses.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > EnableCustomUserStatuses > true

  • Environment variable: MM_TEAMSETTINGS_ENABLECUSTOMUSERSTATUSES

Enable last active time#

  • true: (Default) Users can see when deactivated users were last active on a user’s profile and in direct message channel headers.

  • false: Users can’t see when deactivated users were last online.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: TeamSettings > EnableLastActiveTime > true

  • Environment variable: MM_TEAMSETTINGS_ENABLELASTACTIVETIME

Enable custom user groups#

Note

plans-img-yellow Available only on Enterprise and Professional plans

  • true: (Default) Users with appropriate permissions can create custom user groups, and users can @mention custom user groups in Mattermost conversations.

  • false: Custom user groups cannot be created.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: ServiceSettings > EnableCustomGroups > true

  • Environment variable: MM_SERVICESETTINGS.ENABLECUSTOMGROUPS

User statistics update time#

Set the server time for updating the user post statistics, including each user’s total message count, and the timestamp of each user’s most recently sent message.

Must be a 24-hour time stamp in the form HH:MM based on the local time of the server. Default is 00:00.

  • System Config path: Site Configuration > Users and Teams

  • config.json setting: ServiceSettings > RefreshPostStatsRunTime > 00:00

  • Environment variable: MM_SERVICESETTINGS.REFRESHPOSTSTATSRUNTIME


Notifications#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Notifications.

Show @channel, @all, or @here confirmation dialog#

  • true: (Default) Requires users to confirm when posting @channel, @all, @here, or group mentions in channels with more than 5 members.

  • false: No confirmation is required.

  • System Config path: Site Configuration > Notifications

  • config.json setting: TeamSettings > EnableConfirmNotificationsToChannel > true

  • Environment variable: MM_TEAMSETTINGS_ENABLECONFIRMNOTIFICATIONSTOCHANNEL

Enable email notifications#

  • true: (Default) Enables automatic email notifications for posts.

  • false: Disables notifications. A developer may choose this option to speed development by skipping email setup (see also the Enable preview mode banner setting).

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > SendEmailNotifications > ture

  • Environment variable: MM_EMAILSETTINGS_SENDEMAILNOTIFICATIONS

Note

  • Cloud admins can’t modify this configuration setting.

  • If this setting is false, and the SMTP server is set up, account-related emails (such as authentication messages) will be sent regardless of this setting.

  • Email invitations and account deactivation emails aren’t affected by this setting.

  • If you don’t plan on configuring Mattermost for email, disabling this configuration setting in larger deployments may improve server performance in the following areas, particularly in high-traffic environments where performance is a key concern:

    • Reduced Server Load: Generating and sending emails requires processing power and resources. By disabling email notifications, you reduce the load on the server, which can be reallocated to other tasks.

    • Decreased I/O Operations: Sending emails involves input/output (I/O) operations, such as writing to logs and databases, and handling communication with the email server. Reducing these I/O operations can improve overall system efficiency.

    • Lowered Network Traffic: Each email sent contributes to network traffic. Disabling email notifications decreases the amount of data being transmitted, which can lead to better performance, especially in environments with limited bandwidth.

    • Faster Response Times: With fewer background tasks (like sending emails) to handle, the application can potentially respond to user requests more quickly, improving perceived performance.

    • Resource Allocation: Resources like CPU cycles, memory, and network bandwidth that would have been used for sending emails can be used elsewhere, possibly improving the performance of other critical components of the system.

    • However, disabling email notifications can negatively impact user experience, communication efficiency, and overall productivity. It’s important to balance performance improvements with the needs of your organization and users.

Enable preview mode banner#

  • true: (Default) When Send email notifications is false, users see the Preview Mode banner. This banner alerts users that email notifications are disabled.

  • false: Preview Mode banner does not appear.

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > EnablePreviewModeBanner > true

  • Environment variable: MM_EMAILSETTINGS_ENABLEPREVIEWMODEBANNER

Note

Cloud admins can’t modify this configuration setting.

Enable email batching#

  • true: Multiple email notifications for mentions and direct messages over a given time period are batched into a single email. The time period can be customized by each user under Settings > Notifications. The default time period is 15 minutes.

  • false: (Default) Emails will be sent for each mention or direct message.

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > EnableEmailBatching > false

  • Environment variable: MM_EMAILSETTINGS_ENABLEEMAILBATCHING

Note

  • Cloud admins can’t modify this configuration setting.

  • Regardless of this setting, a user can turn off these notifications under Settings > Notifications.

  • The Site Url and SMTP Email Server must be configured to allow email batching.

  • Email batching in High Availability Mode is planned, but not yet supported.

Email notification contents#

Note

plans-img-yellow Available only on Enterprise plans

Also available in legacy Mattermost Enterprise Edition E20

  • Send full message contents: (Default) Email notifications include the full message contents, along with the name of the sender and the channel. config.json setting: "full"

  • Send generic description with only sender name: Only the name of the sender and team name are included in email notifications. Use this option if Mattermost contains confidential information and policy dictates it cannot be stored in email. config.json setting: "generic"

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > EmailNotificationContentsType

  • Environment variable: MM_EMAILSETTINGS_EMAILNOTIFICATIONCONTENTSTYPE

Notification display name#

Display name for email notifications sent from the Mattermost system.

String input. No default setting. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > FeedbackName

  • Environment variable: MM_EMAILSETTINGS_FEEDBACKNAME

Notification from address#

Email address for notification emails from the Mattermost system. This address should be monitored by a system admin.

String input. Default is test@example.com. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > FeedbackEmail

  • Environment variable: MM_EMAILSETTINGS_FEEDBACKEMAIL

Note

Cloud admins can’t modify this configuration setting.

Support email address#

Sets a user support (or feedback) email address that is displayed on email notifications and during the Getting Started tutorial. This address should be monitored by a system admin. If no value is set, email notifications will not contain a way for users to request assistance.

String input. Default is feedback@mattermost.com. This field is required when changing settings in the System Console.

  • System Config path: Site Configuration > Notifications

  • config.json setting: SupportSettings > SupportEmail

  • Environment variable: MM_SUPPORTSETTINGS_SUPPORTEMAIL

Notification reply-to address#

Email address used in the reply-to header when sending notification emails from the Mattermost system. This address should be monitored by a system admin.

String input. Default is test@example.com.

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > ReplyToAddress

  • Environment variable: MM_EMAILSETTINGS_REPLYTOADDRESS

Push notification contents#

  • Generic description with only sender name: Push notifications include the sender’s name, but not the channel name or message contents. config.json setting: "generic_no_channel"

  • Generic description with sender and channel names: (Default) Push notifications include the name of the sender and channel, but not the message contents. config.json setting: "generic"

  • Full message content sent in the notification payload: Includes the message contents in the push notification payload, which may be sent through Apple’s Push Notification service or Google’s Firebase Cloud Messaging . We highly recommended this option only be used with an https protocol to encrypt the connection and protect confidential information. config.json setting: "full"

  • Full message content fetched from the server on receipt (Available in Mattermost Enterprise): The notification payload contains no message content. Instead it contains a unique message ID used to fetch message content from the Mattermost server when a push notification is received via a notification service app extension on iOS or an expandable notification pattern on Android.

    If the server cannot be reached, a generic push notification is displayed without message content or sender name. For customers who wrap the Mattermost mobile application in a secure container, the container must fetch the message contents using the unique message ID when push notifications are received.

    If the container is unable to execute the fetch, the push notification contents cannot be received by the customer’s mobile application without passing the message contents through Apple’s or Google’s notification service. config.json setting: "id_loaded"

  • System Config path: Site Configuration > Notifications

  • config.json setting: EmailSettings > PushNotificationContents

  • Environment variable: MM_EMAILSETTINGS_PUSHNOTIFICATIONCONTENTS

Enable notification monitoring#

Enable or disable notification metrics data collection.

  • true: (Default) Mattermost notification data collection is enabled for client-side web and desktop app users.

  • false: Mattermost notification data collection is disabled.

  • System Config path: Environment > Performance Monitoring

  • config.json setting: MetricsSettings > EnableNotificationMetrics > true

  • Environment variable: MM_METRICSSETTINGS_ENABLENOTIFICATIONMETRICS

Note

See the performance monitoring documentation to learn more about Mattermost Notification Health metrics.


System-wide notifications#

plans-img Available on Enterprise and Professional plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > System-wide notifications.

Enable system-wide notifications#

  • true: Enable system-wide notifications to display at the top of the Mattermost interface for all users across all teams.

  • false: (Default) Disable system-wide notifications.

  • System Config path: Site Configuration > System-wide notifications

  • config.json setting: AnnouncementSettings > SystemWideNotifications > false

  • Environment variable: MM_ANNOUNCEMENTSETTINGS_SYSTEMWIDENOTIFICATIONS

Allow banner dismissal#

  • true: (Default) Users can dismiss the system-wide notification. It will re-appear the next time the user logs in, and when the text is updated by an admin, or when an admin disables system-wide notifications and reenables them.

  • false: Users cannot dismiss the banner.

  • System Config path: Site Configuration > System-wide notifications

  • config.json setting: AnnouncementSettings > AllowBannerDismissal > true

  • Environment variable: MM_ANNOUNCEMENTSETTINGS_ALLOWBANNERDISMISSAL


Emoji#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Emoji.

Enable emoji picker#

  • true: (Default) Enables an emoji picker when composing messages and for message reactions.

  • false: Disables the emoji picker in message composition and reactions.

  • System Config path: Site Configuration > Emoji

  • config.json setting: ServiceSettings > EnableEmojiPicker > true

  • Environment variable: MM_SERVICESETTINGS_ENABLEEMOJIPICKER

Enable custom emoji#

  • true: (Default) Allows users to add up to 6000 emojis through a Custom Emoji option in the emoji picker. Emojis can be GIF, PNG, or JPG files up to 512 KB in size.

  • false: Disables custom emojis.

  • System Config path: Site Configuration > Emoji

  • config.json setting: ServiceSettings > EnableCustomEmoji > true

  • Environment variable: MM_SERVICESETTINGS_ENABLECUSTOMEMOJI

Note

While Mattermost supports up to 6000 custom emojis, an increase in custom emojis can slow your server’s performance.


Posts#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Posts.

Automatically follow threads#

Note

deployment-img-yellow Available only for self-hosted deployments

  • true: (Default) Enables automatic following for all threads that a user starts, or in which the user participates or is mentioned. A Threads table in the database tracks threads and thread participants. A ThreadMembership table tracks followed threads for each user and whether the thread is read or unread.

  • false: Disables automatic following of threads.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > ThreadAutoFollow > true

  • Environment variable: MM_SERVICESETTINGS_THREADAUTOFOLLOW

Note

  • This setting must be enabled for threaded discussions to function.

  • Enabling this setting does not automatically follow threads based on previous user actions. For example, threads a user participated in prior to enabling this setting won’t be automatically followed, unless the user adds a new comment or is mentioned in the thread.

Threaded discussions#

Important

Customers upgrading from a legacy Mattermost release prior to v7.0 must review the administrator’s guide to enabling threaded discussions (formally known as Collapsed Reply Threads) prior to enabling this functionality.

  • Always On: (Default) Enables threaded discussions on the server and for all users. This is the recommended configuration for optimal user experience and to ensure consistency in how users read and respond to threaded conversations. config.json setting: "always_on"

  • Default On: Enables threaded discussions on the server and for all users.

  • Default Off: Enables threaded discussions on the server but not for users.

  • Disabled: Users cannot enable threaded discussions. config.json setting: "disabled"

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > ThreadedDiscussions

  • Environment variable: MM_SERVICESETTINGS_THREADEDDISCUSSIONS

Message priority#

Tip

Mattermost Enterprise or Professional customers can additionally request message acknowledgements to track that specific, time-sensitive messages have been seen and actioned. See the message priority documentation to learn more.

  • true: (Default) Enables message priority for all users which enables them to set a visual indiciator for important or urgent root messages.

  • false: Disables the ability to set message priority and request acknowledgements.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > PostPriority > true

  • Environment variable: MM_SERVICESETTINGS_POSTPRIORITY

Note

Disabling this configuration setting in larger deployments may improve server performance in the following areas, particularly in environments where performance and responsiveness are critical:

  • Simplified Processing: When post priority is enabled, the system has to manage and prioritize posts based on their designated priority levels. This adds additional processing overhead as the system must evaluate and sort posts accordingly. By disabling this feature, all posts are treated equally, which simplifies the processing logic and reduces the computational load.

  • Reduced Latency: With post priority enabled, there might be delays introduced while the system determines the priority of each post and processes them in the correct order. Disabling post priority can lead to more consistent and potentially quicker handling of posts because the system processes them on a first-come, first-served basis.

  • Lower Resource Utilization: Managing post priorities can consume additional system resources such as CPU and memory. Disabling this feature can free up these resources, allowing the system to allocate them to other tasks, thereby improving overall performance.

  • Improved Scalability: In a high-traffic environment, the complexity of managing post priorities can become more pronounced. Disabling this feature simplifies the system’s operations, making it easier to scale as the number of users and posts increases.

Persistent notifications#

  • true: (Default) Users can trigger repeating notifications to mentioned recipients of urgent messages.

  • false: Disables the ability to send repeating notifications.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > AllowPersistentNotifications > true

  • Environment variable: MM_SERVICESETTINGS_ALLOWPERSISTENTNOTIFICATIONS

Maximum number of recipients for persistent notifications#

The maximum number of recipients users may send persistent notifications to.

Numerical input. Default is 5.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > PersistentNotificationMaxRecipients > 5

  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONSMAXRECIPIENTS

Frequency of persistent notifications#

The number of minutes between repeated notifications for urgent messages sent with persistent notifications.

Numerical input. Default is 5. Minimum is 2.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > PersistentNotificationIntervalMinutes > 5

  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONINTERVALMINUTES

Total number of persistent notifications per post#

The maximum number of times users may receive persistent notifications.

Numerical input. Default is 6.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > PersistentNotificationMaxCount > 6

  • Environment variable: MM_SERVICESETTINGS_PERSISTENTNOTIFICATIONMAXCOUNT

Enable SVGs#

  • true: Enables previews of SVG files attached to messages.

  • false: (Default) Disables previews of SVG files.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > EnableSVGs > false

  • Environment variable: MM_SERVICESETTINGS_ENABLESVGS

Warning

Enabling SVGs is not recommended in environments where not all users are trusted.

Enable LaTeX code block rendering#

  • true: Enables rendering of LaTeX in code blocks.

  • false: (Default) Disables rendering in blocks. Instead, LaTeX code is highlighted.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > EnableLatex > false

  • Environment variable: MM_SERVICESETTINGS_ENABLELATEX

Warning

Enabling LaTeX rendering is not recommended in environments where not all users are trusted.

Enable inline LaTeX rendering#

  • true: Enables rendering of LaTeX in message text.

  • false: (Default) Disables inline rendering of LaTeX. Instead, LaTeX in message text is highlighted. LaTeX can also be rendered in a code block, if that feature is enabled. See Enable LaTeX code block rendering.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > EnableInlineLatex > false

  • Environment variable: MM_SERVICESETTINGS_ENABLEINLINELATEX

Warning

Enabling LaTeX rendering isn’t recommended in environments where not all users are trusted.

Custom URL schemes#

A list of URL schemes that will automatically create a link in message text, for example: ["git", "smtp"]. These schemes always create links: http, https, ftp, tel, and mailto.

config.json setting: an array of strings

  • System Config path: Site Configuration > Posts

  • config.json setting: DisplaySettings > CustomURLSchemes > []

  • Environment variable: MM_DISPLAYSETTINGS_CUSTOMURLSCHEMES

Maximum Markdown nodes#

The maximum number of Markdown elements (such as emojis, links, or table cells), that can be included in a single piece of text in a message.

Numerical input. Default is 0 which applies a Mattermost-specified limit.

  • System Config path: Site Configuration > Posts

  • config.json setting: DisplaySettings > MaxMarkdownNodes > 0

  • Environment variable: MM_DISPLAYSETTINGS_MAXMARKDOWNNODES

Note

This limit applies to all Mattermost clients, including web, desktop app, and mobile app.

Google API key#

Note

deployment-img-yellow Available only for self-hosted deployments

If a key is provided in this setting, Mattermost displays titles of embedded YouTube videos and detects if a video is no longer available. Setting a key should also prevent Google from throttling access to embedded videos that receive a high number of views.

String input.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > GoogleDeveloperKey

  • Environment variable: MM_SERVICESETTINGS_GOOGLEDEVELOPERKEY

Note

This key is used in client-side Javascript, and must have the YouTube Data API added as a service.

Enable server syncing of message drafts#

Enable or disable the ability to synchronize draft messages across all supported Mattermost clients.

  • true: (Default) Message drafts are saved on the server and may be accessed from different clients. Users may still disable server synchronization of draft messages by going to Settings > Advanced Settings.

  • false: Draft messages are stored locally on each device.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > AllowSyncedDrafts > true

  • Environment variable: MM_SERVICESETTINGS_ALLOWSYNCEDDRAFTS

Note

While drafts can be very useful for maintaining work continuity, especially in collaborative environments, disabling draft synchronization across devices can lead to noticeable performance improvements by reducing the computational and data management overhead as follows:

  • Reduced Data Synchronization: When drafts are enabled and synchronized across devices, the system needs to handle those data synchronization operations which can consume significant bandwidth and computing resources. Disabling draft syncing reduces the load on servers and networks.

  • Lower Storage Usage: Storing drafts requires additional database operations and storage space. Each draft is an extra piece of data that needs to be saved, managed, and retrieved. Without drafts, the system has fewer records to keep, which can streamline database operations.

  • Decreased Client Processing: On the client side, draft management involves monitoring changes, saving drafts periodically, and handling conflict resolution if multiple drafts are edited from different devices. Disabling drafts reduces these client-side processes, thus freeing up memory and CPU resources.

  • Simplified Architecture: Maintaining synced drafts often requires complex backend logic to ensure consistency and avoid data conflicts. Simplifying this architecture by removing draft syncing can lead to more efficient and faster backend operations.

  • Improved User Experience: Users may experience faster load times and reduced latency without the overhead of draft syncing. This can be particularly noticeable in environments with limited or variable internet connectivity.

  • However, disabling draft synchronization can negatively impact user experience, communication efficiency, and overall productivity. It’s important to balance performance improvements with the needs of your organization and users.

Unique emoji reaction limit#

Limit the number of unique emoji reactions on each message. Increasing this limit can lead to poor client performance.

Numerical input. Default is 50. Maximum is 500.

  • System Config path: Site Configuration > Posts

  • config.json setting: ServiceSettings > UniqueEmojiReactionLimitPerPost > 50

  • Environment variable: MM_SERVICESETTINGS_UNIQUEEMOJIREACTIONLIMITPERPOST


File sharing and downloads#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > File Sharing and Downloads.

Allow file sharing#

  • true: (Default) Allows users to attach files to messages.

  • false: Prevents users from attaching files (including images) to a message. This affects users on all clients and devices, including mobile apps.

  • System Config path: Site Configuration > File Sharing and Downloads

  • config.json setting: FileSettings > EnableFileAttachments > true

  • Environment variable: MM_FILESETTINGS_ENABLEFILEATTACHMENTS

Allow file uploads on mobile#

Note

plans-img-yellow Available only on Enterprise plans

Also available in legacy Mattermost Enterprise Edition E20

  • true: (Default) Allows users to attach files to messages from mobile apps.

  • false: Prevents users from attaching files (including images) to messages from mobile apps.

  • System Config path: Site Configuration > File Sharing and Downloads

  • config.json setting: FileSettings > EnableMobileUpload > true

  • Environment variable: MM_FILESETTINGS_ENABLEMOBILEUPLOAD

Allow file downloads on mobile#

Note

plans-img-yellow Available only on Enterprise plans

Also available in legacy Mattermost Enterprise Edition E20

  • true: (Default) Enables file downloads on mobile apps.

  • false: Disables file downloads on mobile apps. Users can still download files from a mobile web browser.

  • System Config path: Site Configuration > File sharing and downloads

  • config.json setting: FileSettings > EnableMobileDownload > true

  • Environment variable: MM_FILESETTINGS_ENABLEMOBILEDOWNLOAD



Notices#

plans-img Available on all plans

deployment-img Cloud and self-hosted deployments

Access the following configuration settings in the System Console by going to Site Configuration > Notices.

Enable admin notices#

  • true: (Default) System admins will receive in-product notices about server upgrades and administration features.

  • false: System admins will not receive specific notices. Admins will still receive notices for all users (see Enable end user notices)

  • System Config path: Site Configuration > Notices -

  • config.json setting: AnnouncementSettings > AdminNoticesEnabled > true

  • Environment variable: MM_ANNOUNCEMENTSETTINGS_ADMINNOTICESENABLED

Enable end user notices#

  • true: (Default) All users receive in-product notices about client upgrades and end user features.

  • false: Users will not receive in-product notices.

  • System Config path: Site Configuration > Notices

  • config.json setting: AnnouncementSettings > UserNoticesEnabled > true

  • Environment variable: MM_ANNOUNCEMENTSETTINGS_USERNOTICESENABLED

Connected workspaces (Beta)#

plans-img Available on Enterprise plans

deployment-img Cloud and self-hosted deployments

The following settings aren’t available in the System Console and can only be set in config.json. When connected workspaces are enabled, system admins can create and manage connected workspaces in the System Console by going to Site Configuration > Connected Workspaces (Beta).

Enable connected workspaces (Beta)#

Enable the ability to establish secure connections between Mattermost instances, and invite secured connections to shared channels where users can participate as they would in any public and private channel. Both configuration settings are disabled by default and must be enabled in order to share channels with secure connections. Enabling connected workspace functionality requires a server restart.

This feature’s two config.json settings include:

  • ConnectedWorkspacesSettings.EnableRemoteClusterService: false with options true and false.

  • ConnectedWorkspacesSettings.EnableSharedChannels: false with options true and false.

Note

  • Neither setting is available in the System Console and can only be set in config.json under ConnectedWorkspacesSettings.

  • System admins for Cloud deployments can submit a request to have these required configuration settings enabled for their Cloud deployment instance.

  • Following an upgrade to Mattermost v10.2 or later, existing configuration values for shared channels, including EnableSharedChannels and EnableRemoteClusterService are automatically converted to connected workspace configuration settings in the config.json file. The deprecated shared channels experimental settings remain in the config.json file to support backwards compatibility.

Disable shared channel status sync (Beta)#

Disable member status and availability synchronization between connected workspaces.

  • true: Channel as well as member status and availability isn’t synchronized.

  • false: (Default) Channel as well as channel member status and availability is synchronized at regular intervals.

  • System Config path: N/A

  • config.json setting: ConnectedWorkspacesSettings > DisableSharedChannelsStatusSync > false

  • Environment variable: N/A

Default maximum posts per sync (Beta)#

Define the default maximum number of mesages to synchronize at a time.

Default is 50.

  • System Config path: N/A

  • config.json setting: ConnectedWorkspacesSettings > DefaultMaxPostsPerSync > 50

  • Environment variable: N/A