Site configuration settings

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, or by editing 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

This feature was moved to Team Edition in Mattermost v5.0, released June 16th, 2018. Prior to v5.0, this feature is available in legacy Enterprise Edition E10 and 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


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.

Default server language

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, "zh_CN", and "zh_TW".

Default is "en".

  • System Config path: Site Configuration > Localization

  • config.json setting: .LocalizationSettings.DefaultServerLocale

  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTSERVERLOCALE

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, "zh_CN", and "zh_TW".

Default is "en".

  • System Config path: Site Configuration > Localization

  • config.json setting: .LocalizationSettings.DefaultClientLocale

  • Environment variable: MM_LOCALIZATIONSETTINGS_DEFAULTCLIENTLOCALE

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, "zh_CN", and "zh_TW".

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 active and inactive 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.

  • 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.

  • System Config path: Site Configuration > Users and teams

  • config.json setting: .TeamSettings.MaxChannelsPerTeam: 2000

  • Environment variable: MM_TEAMSETTINGS_MAXCHANNELSPERTEAM

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 (see Lock teammate name display…).

  • Show username: (Default) Displays usernames. config.json option: "username".

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

  • Show first and last name: Displays the user’s full name. If the user does not have a full name, their username is displayed. This option is 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

  • 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

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.

  • 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 inactive users were last active on a user’s profile and in direct message channel headers.

  • false: Users can’t see when inactive 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

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

  • false: Users cannot set custom statuses.

  • System Config path: Site Configuration > Users and teams

  • config.json setting: N/A

  • Environment variable: N/A


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

Notes:

  • 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 are not affected by this setting.

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

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

Notes:

  • 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

Available in legacy 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

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


Announcement banner

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 > Announcement Banner.

Enable announcement banner

  • true: Enable an announcement banner that is displayed across the top of the screen for all teams.

  • false: (Default) Disable the announcement banner.

  • System Config path: Site Configuration > Announcement banner

  • config.json setting: .AnnouncementSettings.EnableBanner: false

  • Environment variable: MM_ANNOUNCEMENTSETTINGS_ENABLEBANNER

Allow banner dismissal

  • true: (Default) Users can dismiss the banner. The banner will re-appear the next time the user logs in. The banner will also re-appear if the text is updated, or a System Admin disables the banner and re-enables it.

  • false: Users cannot dismiss the banner.

  • System Config path: Site Configuration > Announcement banner

  • 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: Allows users to add emojis through a Custom Emoji option in the emoji picker. Emojis can be GIF, PNG, or JPG files up to 1 MB.

  • false: (Default) Disables custom emojis.

  • System Config path: Site Configuration > Emoji

  • config.json setting: .ServiceSettings.EnableCustomEmoji: false

  • Environment variable: MM_SERVICESETTINGS_ENABLECUSTOMEMOJI

Note: Too many 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

Notes:

  • This setting must be enabled for Collapsed Reply Threads to function. See the administrator’s guide to enabling Collapsed Reply Threads for details.

  • 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.

Collapsed reply threads

Important

Customers upgrading to v7.0 must review the administrator’s guide to enabling Collapsed Reply Threads prior to enabling this functionality.

  • Always On: (Default) Enables Collapsed Reply Threads 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 Collapsed Reply Threads on the server and for all users. Users can choose to disable Collapsed Reply Threads for their Mattermost account in Settings > Display > Collapsed Reply Threads. config.json setting: "default_on"

  • Default Off: Enables Collapsed Reply Threads on the server but not for users. Users can choose to enable Collapsed Reply Threads for their Mattermost account in Settings > Display > Collapsed Reply Threads. config.json setting: "default_off"

  • Disabled: Users cannot enable Collapsed Reply Threads. config.json setting: "disabled"

  • System Config path: Site Configuration > Posts

  • config.json setting: .ServiceSettings.CollapsedThreads

  • Environment variable: MM_SERVICESETTINGS_COLLAPSEDTHREADS

Enable SVGs

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

  • false: Disables previews of SVG files.

  • Site Configuration > Posts

  • config.json setting: .ServiceSettings.EnableSVGs: true

  • Environment variable: MM_SERVICESETTINGS_ENABLESVGS

Enable LaTeX code block rendering

  • true: (Default) Enables rendering of LaTeX in code blocks.

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

  • System Config path: Site Configuration > Posts

  • config.json setting: .ServiceSettings.EnableLatex: true

  • Environment variable: MM_SERVICESETTINGS_ENABLELATEX

Warning: Choose false to prevent Mattermost from crashing due to code outgrowing its assigned memory when it is rendered.

Enable inline LaTeX rendering

  • true: (Default) Enables rendering of LaTeX in message text.

  • false: 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: true

  • Environment variable: MM_SERVICESETTINGS_ENABLEINLINELATEX

Warning: Choose false to prevent Mattermost from crashing due to code outgrowing its assigned memory when it is rendered.

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

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

Notes:

  • The key must have the YouTube Data API added as a service.

  • This key is used in client-side Javascript.


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

Available in legacy 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

Available in legacy 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