snapshot of https://github.com/mattermost/mattermost.git (master, 2026-09-16; blobs > 131072B omitted)
Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s

This commit is contained in:
upstream-mirror
2026-09-16 00:29:55 +05:00
commit 240db4e2a7
15309 changed files with 2173406 additions and 0 deletions

View File

@@ -0,0 +1,144 @@
---
title: "Administrator onboarding tasks"
---
<PlanAvailability slug="all-commercial" />
This document provides instructions for common administrator tasks, including some recommendations on tasks to prepare your Mattermost deployment to onboard users.
## Getting started tasks
1. Once you've installed and deployed Mattermost, ensure all configuration settings are appropriately set under **System Console \> Environment** including:
> - Web server
> - Database
> - File storage
> - SMTP
> - Push Notification server
These settings can also be set in the `config.json` file. Please see our [configuration settings documentation](/administration-guide/configure/configuration-settings) for a full listing of all configuration settings.
2. Adjust settings under **System Console \> Site Configuration** to brand and customize how users will interact with the site. Be sure to update the Support Email and Help Link in Mattermost under **System Console \> Site Configuration \> Customization** to provide your users a resource for password resets or questions on their Mattermost account.
> - The Support email is used on email notifications and during tutorial for users to ask support questions.
> - The Help Link is on the Mattermost login page, sign-up pages, and Main Menu and can be used to to link to your help desk ticketing system.
These settings can also be set in the `config.json` file. Please see our [configuration settings documentation](/administration-guide/configure/configuration-settings) for a full listing of all configuration settings.
3. Begin to onboard users by enabling account creation or by connecting an authentication service to assist with user provisioning.
- Users can be pre-provisioned with migration and bulk import processes based on prior collaboration systems. Please see our [migration guide](/administration-guide/onboard/migrating-to-mattermost#migration-guide) and [bulk import documentation](/administration-guide/onboard/bulk-loading-data) for additional details.
- [AD/LDAP authentication](/administration-guide/onboard/ad-ldap) and [SAML authentication](/administration-guide/onboard/sso-saml) are available for some subscription plans, providing identity management, single sign-on, and automatic account provisioning.
If your organization requires more structure and project management artifacts for the implementation of Mattermost, please see our [Enterprise roll out checklist](/administration-guide/upgrade/enterprise-roll-out-checklist).
## Important administration notes
**DO NOT manipulate the Mattermost database**
- In particular, DO NOT manually delete data from the database directly. Mattermost is designed as a continuous archive and cannot be supported after manual manipulation.
- If you need to permanently delete a team or user, use the [mmctl user delete](/administration-guide/manage/mmctl-command-line-tool#mmctl-user-delete) command or the [mmctl user deleteall](/administration-guide/manage/mmctl-command-line-tool#mmctl-user-deleteall) command.
## Common tasks
**Creating System admin account from the command line**
- If the System admin leaves the organization or is otherwise unavailable, you can use the [mmctl roles](/administration-guide/manage/mmctl-command-line-tool#mmctl-roles) commands to assign the *system_admin* role to an existing user.
- The user needs to log out and log back in before the *system_admin* role is applied.
**Migrating to AD/LDAP or SAML from email-based authentication**
- If you have a Mattermost Enterprise or Professional plan, you can migrate from email authentication to Active Directory/LDAP or to SAML Single Sign-on. To set up Active Directory/LDAP, see [Active Directory/LDAP Setup](/administration-guide/onboard/ad-ldap). To set up SAML Single Sign-on, see [SAML Single-Sign-On](/administration-guide/onboard/sso-saml).
- After the new authentication method is enabled, existing users cannot use the new method until they go to **Settings \> Security \> Sign-in method** and select **Switch to using AD/LDAP** or **Switch to using SAML Single Sign-on**. After they have switched, they can no longer use their email and password to log in.
**Deactivating a user**
- System admins can go to **System Console \> Users** for a list of all users on the server. The list can be searched and filtered to make finding the user easier. Click the user's role and in the menu that opens, click **Deactivate**.
- To preserve audit history, users are typically never deleted from the system. If permanently deleting a user is necessary (e.g. for the purposes of [GDPR](https://gdpr-info.eu/)), an [mmctl command](/administration-guide/manage/mmctl-command-line-tool) can be used to do so.
- Note that AD/LDAP user accounts cannot be deactivated from Mattermost; they must be deactivated from your Active Directory.
**Checking for a valid license in Enterprise Edition without logging in**
- Open the log file `mattermost.log`. It's usually in the `mattermost/logs/` directory but might be elsewhere on your system. Find the last occurrence of a log entry that starts with the text `[INFO] License key`. If the license key is valid, the complete line should be similar to the following example:
``` text
[2017/05/19 16:51:40 UTC] [INFO] License key valid unlocking enterprise features.
```
## User experience optimizations
We highly recommend the following best practices, configuration options, and features for an optimal Mattermost user experience.
**1. Upgrade your Mattermost server**
When you upgrade your Mattermost server frequently, your users can access new features, improved user experiences, bug fixes, security fixes, and mobile app compatibility.
Mattermost releases regular updates to [Mattermost Team Edition](https://mattermost.com/) and [Mattermost Enterprise Edition](https://mattermost.com/pricing/). See the [release life cycle](/product-overview/releases-lifecycle) documentation for component life cycle details details.
Upgrading your Mattermost server only takes a few minutes. See the [Upgrade Guide](/administration-guide/upgrade/upgrading-mattermost-server) for step-by-step instructions.
**2. Install plugins**
You can enable plugins and integrations to connect your team's workflows and toolsets into Mattermost. Plugins and integrations customize and extend the Mattermost platform.
**Install and manage plugins**
To enable and manage plugins, go to **System Console \> Plugins**. Next, install plugins from **Product menu \> Marketplace**. See the [Marketplace](https://developers.mattermost.com/integrate/admin-guide/admin-plugins-beta/#marketplace) documentation for details.
Consider installing, configuring, and enabling the following community integrations for your users:
- Create polls with [Matterpoll](https://mattermost.com/marketplace/matterpoll/).
- Share GIFs with [GIF Commands](https://mattermost.com/marketplace/giphy-plugin/).
- Create and share memes with [Memes](https://mattermost.com/marketplace/memes-plugin/).
- Set personal reminders with [Remind](https://mattermost.com/marketplace/remind-plugin/).
- Create and share to do items with [Todo](https://github.com/mattermost/mattermost-plugin-todo).
- Customize welcome messages for new users with [WelcomeBot](https://mattermost.com/marketplace/welcomebot-plugin/).
Explore all plugins and integrations available in the [Mattermost Marketplace](https://mattermost.com/marketplace/).
**Enable and manage integrations**
To enable integrations such as webhooks, slash commands, OAuth2.0, and bots, to go **System Console \> Integrations**. More information on these integrations can be found [here](https://developers.mattermost.com/integrate/other-integrations/).
**3. Enable automatically extended sessions**
Keep your desktop and mobile users logged in and [extend user sessions automatically](https://mattermost.com/blog/session-expiry-experience/) by setting **System Console \> Sessions \> Extend session length with activity** to **true**. See the [Extend session length with activity](/administration-guide/configure/environment-configuration-settings#extend-session-length-with-activity) configuration settings documentation for details.
**4. Enable full content push notifications**
Enable push notifications on mobile devices to deliver messages in real time by setting **System Console \> Push Notification Server \> Enable Push Notifications** to **Use TPNS**. See the [Push notification server](/administration-guide/configure/environment-configuration-settings#push-notification-server) configuration settings documentation for details.
Enable full content push notifications, including the sender’s name, the channel name, and the message text, by setting **System Console \> Notifications \> Push Notification Contents** to **Full message contents**. See the [Push notification contents](/administration-guide/configure/site-configuration-settings#push-notification-contents) configuration settings documentation for details.
<Note>
- Mattermost subscription plans allow you to enable HPNS that includes production-level uptime SLAs.
- Mattermost Enterprise customers can [enable ID-Only push notifications](/administration-guide/configure/site-configuration-settings#push-notification-contents) so push notification content is not passed through Apple Push Notification Service (APNS) or Google Firebase Cloud Messaging (FCM) before reaching the device. The ID-only push notification setting [offers a high level of privacy](https://mattermost.com/blog/id-only-push-notifications/) while allowing team members to benefit from mobile push notifications.
</Note>
**5. Enable custom emoji**
[Emojis](/end-user-guide/collaborate/react-with-emojis-gifs) enable users to express concepts such as emotions and physical gestures in messages. Enable the emoji picker by setting **System Console \> Emoji \> Enable Emoji Picker** to **true**. See the [Enable emoji picker](/administration-guide/configure/site-configuration-settings#enable-emoji-picker) configuration settings documentation for details.
Empower users to create and share their own custom emojis by setting **System Console \> Emoji \> Enable Custom Emoji** to **true**. See the [Enable custom emoji](/administration-guide/configure/site-configuration-settings#enable-custom-emoji) configuration settings documentation for details.
**6. Enable GIF picker**
GIFs are animated images that can make messaging more fun and engaging. Enable users to access the Mattermost GIF picker from the message draft area by setting **System Console \> GIF (Beta) \> Enable GIF Picker** to **true**. See the [Enable GIF picker](/administration-guide/configure/integrations-configuration-settings#enable-gif-picker) configuration settings documentation for details.
**7. Enable link previews**
Link previews provide a visual glimpse of relevant content for links shared in messages. Enable link previews by setting **System Console \> Posts \> Enable Link Previews** to **true**. See the [Enable link previews](/administration-guide/configure/site-configuration-settings#enable-website-link-previews) configuration settings documentation for details.
**8. Enable batched email notifications**
Email notifications can be batched together so users don’t get overwhelmed with too many emails.
Enable email notifications first by setting **System Console \> Notifications \> Enable Email Notifications** to **true**. See the [Enable email notifications](/administration-guide/configure/site-configuration-settings#enable-email-notifications) configuration settings documentation for details. Note that email notifications require an [SMTP email server](/administration-guide/configure/environment-configuration-settings#smtp-server) to be configured.
Then, enable batched email notifications by setting **System Console \> Notifications \> Enable Email Batching** to **true**. See the [Enable email batching](/administration-guide/configure/site-configuration-settings#enable-email-batching) configuration settings documentation for details. Note that email batching is not available if you are running your deployment in [High Availability](/deployment-guide/server/high-availability-cluster-based-deployment).
**9. Enable Elasticsearch**
Mattermost Enterprise customers can enable [enterprise search](/deployment-guide/scale/enterprise-search) for optimized search performance at enterprise-scale. Both Elasticsearch and AWS OpenSearch solve many known issues with full-text message search in the database, such as dots, dashes, and email addresses returning unexpected results. Before enabling, review the [enterprise search limitations](/deployment-guide/scale/common-configure-mattermost-for-enterprise-search#enterprise-search-limitations), as some user search behavior differs from database search.
Enable Elasticsearch by setting **System Console \> Elasticsearch \> Enable Indexing** to **true**. See the [Elasticsearch](/administration-guide/configure/environment-configuration-settings#enterprise-search) configuration settings documentation for details. Enabling Elasticsearch requires [setting up an Elasticsearch server](/deployment-guide/scale/elasticsearch-setup#set-up-elasticsearch).

View File

@@ -0,0 +1,188 @@
---
title: "Communicate scheduled maintenance best practices"
---
<PlanAvailability slug="all-commercial" />
Performing scheduled maintenance on a Mattermost server with 1,000 or more users requires advanced planning and a clear communication strategy to ensure minimal disruption and maximum transparency.
This guide provides best practices for notifying users via email and Mattermost channels, updating the load balancer’s error message, and configuring a dismissable banner to inform users of the upcoming maintenance.
## Communication strategy
A well-defined communication strategy is essential for informing users before, during, and after maintenance. The key components of this strategy are:
- Define a clear maintenance window in which the self-hosted Mattermost server will be unavailable.
> - Mattermost Cloud deployments have predefined service windows scheduled from 8:00-10:00 UTC on Saturdays only (when applicable) unless an exception has been made and communicated to impacted customers.
- [Email notifications](#email-templates): Send structured and consistent emails to users at intervals of 7 days, 3 days, and 1 day before the scheduled maintenance window.
- [Channel-based reminders](#channel-reminder-templates): [Send messages](/end-user-guide/collaborate/send-messages) similar to the emails in relevant Mattermost channels at the same intervals as the email notifications.
- [Mattermost Banner notification](#banner-notification): Set a [system-wide notification](/administration-guide/manage/system-wide-notifications) to display at the top of the Mattermost instance ahead of the maintenance window and outage.
- [Display a load balancer message](#display-load-balancer-message): Update the load balancer to show a maintenance message during the scheduled maintenance window of downtime.
## Notification templates
### Email Templates
#### 7-Day notice email
**Email subject**: Scheduled Maintenance Notification: \[Date and Time\]
``` none
Dear Mattermost Users,
This is a notification that our Mattermost server will undergo scheduled
maintenance on [Date] from [Start Time] to [End Time] [Time Zone].
During this time, the Mattermost instance will be unavailable.
We apologize for any inconvenience this may cause and appreciate your
understanding as we work to improve our service.
If you have any questions or concerns, please contact our
support team at [Support Email].
Thank you for your cooperation.
Best regards,
[Your Name]
[Your Position]
```
#### 3-Day notice email
**Email subject**: Reminder: Scheduled Maintenance on \[Date and Time\]
``` none
Dear Mattermost Users,
This is a reminder that our Mattermost server will undergo scheduled
maintenance on [Date] from [Start Time] to [End Time] [Time Zone].
The Mattermost instance will be unavailable during this period.
If you have any questions or concerns, please contact our
support team at [Support Email].
Thank you for your cooperation.
Best regards,
[Your Name]
[Your Position]
```
#### 1-Day notice email
**Email subject**: Final Reminder: Scheduled Maintenance Tomorrow on \[Date and Time\]
``` none
Dear Mattermost Users,
This is a final reminder that our Mattermost server will undergo scheduled
maintenance tomorrow, [Date], from [Start Time] to [End Time] [Time Zone].
The Mattermost instance will be unavailable during this period.
If you have any questions or concerns, please contact our
support team at [Support Email].
Thank you for your cooperation.
Best regards,
[Your Name]
[Your Position]
```
### Channel reminder templates
#### 7-Day channel reminder
``` none
@all Please be advised that our Mattermost server will
undergo scheduled maintenance on [Date],
from [Start Time] to [End Time] [Time Zone].
The instance will be unavailable during this time. We appreciate your understanding.
```
#### 3-Day channel reminder
``` none
@all This is a reminder that our Mattermost server will
undergo scheduled maintenance on [Date],
from [Start Time] to [End Time] [Time Zone].
Please plan accordingly.
```
#### 1-Day channel reminder
``` none
@all Final reminder: Our Mattermost server will
undergo scheduled maintenance tomorrow, [Date],
from [Start Time] to [End Time] [Time Zone].
Thank you for your cooperation.
```
### Banner notification
Sample message:
``` text
Heads up! Scheduled maintenance is planned for [Date],
between [Start Time] and [End Time] [Time Zone].
The Mattermost instance will be unavailable during this time.
```
Users can dismiss the banner until they log in again, or until you update the banner.
### Display load balancer message
Configure the load balancer to display a notification message during the scheduled maintenance window of downtime.
1. Identify the load balancer you are using (e.g., AWS, HAProxy).
2. Edit configuration. Adjust paths and configurations according to your specific environment.
> - For AWS, navigate to the Load Balancer configurations in the EC2 console.
> - For HAProxy, edit the `haproxy.cfg` file.
<Important>
We strongly recommend adding headers, where needed in your infrastructure, to avoid outdated information being communicated to your users during and following server maintenance.
</Important>
See the sample message HTML below to use as a starting point:
``` html
HTML Template
<!DOCTYPE html>
<html>
<head>
<title>Maintenance in Progress</title>
<style>
body {
text-align: center;
padding: 50px;
font-family: "Arial", sans-serif;
background-color: #f2f2f2;
}
.container {
margin: auto;
width: 50%;
padding: 20px;
background-color: #fff;
border-radius: 8px;
box-shadow: 0px 0px 10px 0px #0000001a;
}
</style>
</head>
<body>
<div class="container">
<h1>Maintenance in Progress</h1>
<p>Our Mattermost server is currently undergoing scheduled maintenance.</p>
<p>Estimated downtime: [Start Time] to [End Time] [Time Zone]</p>
<p>We apologize for any inconvenience and thank you for your understanding.</p>
<p>If you have any questions, please contact our support team at <a href="mailto:[Support Email]">[Support Email]</a>.</p>
</div>
</body>
</html>
```

View File

@@ -0,0 +1,47 @@
---
title: "Downgrade Mattermost Server"
---
<PlanAvailability slug="all-commercial" />
In most cases you can downgrade Mattermost Server using the same steps as [upgrading mattermost server](/administration-guide/upgrade/upgrading-mattermost-server). Server binaries can be found in the [Mattermost server version archive](/product-overview/version-archive) documentation.
<Important>
- We don't recommend downgrading more than one major version back from your current installation.
- We strongly recommend testing the downgrade in a staging environment first to identify any potential issues.
- Ensure that your plugins and integrations are compatible with the downgraded version you're moving to.
</Important>
## Prepare for downgrade
Before downgrading the Mattermost server, we strongly recommend the following preparation steps.
1. Back up your data: Ensure you have a full backup of your database and Mattermost application files. This is crucial in case you need to revert any changes.
> 1. Back up your database using your organization’s standard procedures for backing up the database.
> 2. Back up your application by copying into an archive folder (e.g. `mattermost-back-YYYY-MM-DD-HH-mm`). Ensure to copy your Mattermost configuration files and any other necessary application files.
2. Carefully review the Mattermost changelog for the version you are downgrading to in order to understand any potential issues or incompatibilities.
3. Verify the current schema version of your database using the [mattermost db version --all](/administration-guide/manage/command-line-tools#mattermost-db-version) command. Also, if you aren't sure about the target schema, you can verify the target schema version (i.e., applied migrations) by checking the public [GitHub repository](https://github.com/mattermost/mattermost/blob/master/server/channels/db/migrations/migrations.list) (Select the tag for desired version).
## Perform the downgrade
1. Stop the Mattermost service to ensure that no data is being written to the database during the downgrade process.
2. If the database schema has changed between versions, you must downgrade the schema. Use the newer mattermost binary to perform the downgrade using the [mattermost db downgrade](/administration-guide/manage/command-line-tools#mattermost-db-downgrade) command. For example: `mattermost db downgrade 128,127,126`
<Tip>
You can review downgrade changes before committing them if you have used the `--save-plan` option while upgrading Mattermost. It has both forwards and backwards SQL scripts. This option allows you to avoid specifying migrations to be downgraded, and allows you to use older versions of Mattermost to perform the downgrade. For example: `mattermost db downgrade migration_plan_128_127.json`.
</Tip>
3. There may be changes in configuration settings between versions. Revert any necessary configuration changes in the `config.json` file to match the downgraded version's expectations and support.
## After the downgrade
Replace the current Mattermost application binary with the version you want to downgrade to. Make sure to use the binary of the target version. The newer Mattermost binary contains the downgrade SQL for the migrations to be rolled back. The newer binary version is used to perform the downgrade; then you start using the application binary of the version you want to downgrade to.
1. Restart the Mattermost Server after completing the downgrade.
2. Check the logs and test the application to ensure that everything is functioning correctly.
3. Inform your users about the downgrade and any potential changes they might experience.

View File

@@ -0,0 +1,98 @@
---
title: "Upgrade Team Edition to Enterprise Edition"
---
If you're evaluating Mattermost using Team Edition, you'll need to upgrade to Mattermost Enterprise Edition before you can start a trial or upload a license that enables Enterprise features. The open source Mattermost Team Edition is functionally identical to the commercial Enterprise Edition, but there is no ability to start a trial or unlock paid features.
## Upgrade to Enterprise Edition
### Check your edition and version
Open **Product menu \> About Mattermost** to check your edition and version from the web or desktop interface.
- **Mattermost Entry** indicates you're using the licensed edition of Mattermost without a paid license.
- **Mattermost Professional** indicates you're using the licensed edition of Mattermost with a paid professional license.
- **Mattermost Enterprise** indicates you're using the licensed edition of Mattermost with a paid enterprise license.
- **Mattermost Enterprise Advanced** indicates you're using the licensed edition of Mattermost with a paid enterprise advanced license.
- **Mattermost Team Edition** indicates you're using the open source version and need to upgrade to a licensed edition before a license key can be applied.
### Upgrade via System Console (Recommended)
Most standalone servers can upgrade Team Edition to Enterprise Edition in minutes using the built-in conversion tool in the System Console, and this is our recommended approach.
Go to **Product menu \> System Console \> Edition and License** and select **Upgrade to Enterprise Edition**.
During the upgrade process, the Mattermost Enterprise Edition binary file that matches your current server version is downloaded, decompressed, and extracted. The Team Edition binary is then replaced by the Enterprise Edition version.
<Note>
If you're using a modified version of Mattermost, using this tool will overwrite your changes and replace them with the official Enterprise Edition binary.
</Note>
Once this process is complete, you're prompted to restart your server. The Mattermost version listed in **Product menu \> System Console \> Edition and License** will change from **Team Edition** to **Mattermost Entry**, and you can now upload a professional, enterprise, or enterprise advanced license to unlock paid features.
### Upgrade manually
You can alternatively replace the Mattermost Team Edition binary with a Mattermost Enterprise Edition binary when running a regularly scheduled server upgrade via this [upgrade procedure](/administration-guide/upgrade/upgrading-mattermost-server).
We recommend backing up Mattermost prior to upgrading. The [migration guide](/administration-guide/onboard/migrating-to-mattermost) documentation outlines the process required to back up and restore your database.
## Upgrade to Enterprise Edition in GitLab Omnibus
GitLab Omnibus runs the open source Mattermost Team Edition. To upgrade to Mattermost Enterprise Edition, follow these steps:
1. Disable the built-in Mattermost instance on GitLab Omnibus by going to `/etc/gitlab/gitlab.rb` and setting the following line to `false`:
> ``` text
> mattermost['enable'] = false
> ```
>
> Then run the following command to apply the updated setting:
>
> ```
> sudo gitlab-ctl reconfigure
> ```
2. Install Mattermost using one of the guides above.
3. Migrate the database used by GitLab Mattermost for your new Enterprise Edition instance.
4. (Optional) Set up [GitLab slash command integration](https://docs.gitlab.com/ee/user/project/integrations/mattermost_slash_commands.html) with your Mattermost instance.
## Troubleshooting
### Permissions and limitations
If you're using a package manager, such as Gitlab Omnibus, to manage your Mattermost installation, the Mattermost system user won't have sufficient permissions to perform the upgrade. If this is the case, you'll need to change the file permissions manually.
Changing the permissions in this way doesn't affect your Mattermost deployment or impact any data. The permission change is done solely for the upgrade.
To change the permissions using the command line on the Mattermost server, you need access to the command line tool as *mattermost* user:
1. Open the command line tool on the Mattermost server and `cd` to the Mattermost installation directory.
2. Run the following commands, replacing `<PathToBinaryFile>` with the appropriate path - typically `/opt/mattermost/bin/mattermost`) to change the ownership of the binary file to *mattermost* user and grant write access:
> ``` sh
> chown mattermost <PathToBinaryFile>
> chmod +w <PathToBinaryFile>
> ```
3. In the Mattermost System Console, retry the upgrade.
4. When the upgrade is complete, return to the command prompt on the Mattermost server and run the following command to restore the file permissions, replacing `<OriginalFileOwner>` with the appropriate value:
> ``` sh
> chown <OriginalFileOwner> <PathToBinaryFile>
> chmod -w <PathToBinaryFile>
> ```
### Mattermost has reverted to Team Edition
On a managed deployment, if you upgraded Team Edition to Enterprise Edition, and then upgraded again, the upgrade will have overwritten Enterprise Edition with the latest version of Team Edition.
You can convert to Enterprise Edition again by following the steps above. If you plan to use Mattermost Enterprise Edition permanently, we recommend migrating your server to a self-hosted deployment.
### Incompatible system architecture
This System Console tool is only compatible with Linux systems using x86-64 architecture. If you're running Mattermost on a different architecture, follow the [manual upgrade process](#upgrade-manually) instead.
### Can't retrieve Enterprise Edition binary file
If the upgrade fails due to file retrieval failure, unavailable binary, or connectivity error, please check your proxy settings and try again. If the problem persists, follow the [manual upgrade process](#upgrade-manually) instead.

View File

@@ -0,0 +1,371 @@
---
title: "Enterprise roll-out checklist"
---
<PlanAvailability slug="ent-plus" />
This checklist is intended to serve as a guide to Enterprises who are rolling out Mattermost to thousands of users.
## Checklist overview
### Prepare for the roll out
- [1. Define the roll out project](#1-define-the-roll-out-project)
- [2. Validate essential security and compliance requirements](#2-validate-essential-security-and-compliance-requirements)
- [3. Create development, staging, and production environments](#3-create-development-staging-and-production-environments)
- [4. Configure and customize your Mattermost site](#4-configure-and-customize-your-mattermost-site)
- [5. Test production performance and redundancy](#5-test-production-performance-and-redundancy)
### Roll out Mattermost
- [1. Define your team and channel strategy](#1-define-your-team-and-channel-strategy)
- [2. Enable key integrations](#2-enable-key-integrations)
- [3. Prepare for user onboarding](#3-prepare-for-user-onboarding)
- [4. Deploy client apps](#4-deploy-client-apps)
- [5. Roll out to groups of users](#5-roll-out-to-groups-of-users)
- [6. Drive adoption](#6-drive-adoption)
### Review the roll out
- [1. Review project charter success metrics](#1-review-project-charter-success-metrics)
- [2. Review and analyze usage](#2-review-and-analyze-usage)
- [3. Analyze system performance](#3-analyze-system-performance)
- [4. Harden security](#4-harden-security)
- [5. Perform maintenance tasks](#5-perform-maintenance-tasks)
## Checklist details
### Prepare for the roll out
Much of the preparation work is focused on ensuring the environment is deployed and secured prior to onboarding users.
#### 1. Define the roll out project
- Define key stakeholders and project team members
> - Example project team members: Project Manager, Network Administrator, Database Administrator, Corporate Directory Administrator, Security & Compliance Administrator(s), User Support, User Champions, User Trainers
- Define use cases and requirements for teams, their workflows and their integrations
> - Resource: [https://mattermost.com/blog/27-things-enterprises-can-learn-startups-increase-productivity/](https://mattermost.com/blog/27-things-enterprises-can-learn-startups-increase-productivity/)
- Define success criteria, goals and metrics to measure success
- Create a Project Charter to document goals, tasks, deliverables, and decisions
> - Get buy-in from project team members and key stakeholders on the project charter
#### 2. Validate essential security and compliance requirements
- Review Mattermost security features
> - Resource: [https://docs.mattermost.com/security-guide/security-guide-index.html](https://docs.mattermost.com/security-guide/security-guide-index.html)
- Determine monitoring requirements
> - Database, network, storage, log integrity
> - Identify fields for log management tools (e.g. Splunk Enterprise event data)
- Determine environment access policies
> - Network access, physical access, group controlled access
- Determine encryption policies
> - Resource: [https://docs.mattermost.com/deployment-guide/encryption-options.html](https://docs.mattermost.com/deployment-guide/encryption-options.html)
> - Resource: [https://docs.mattermost.com/deployment-guide/transport-encryption.html](https://docs.mattermost.com/deployment-guide/transport-encryption.html)
- Determine system administration access policies
> - Identify the list of users or groups who need administrative access for Mattermost System Console, Command Line Tools, and API privileges
- Define and configure authentication policies
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/corporate-directory-integration.html](https://docs.mattermost.com/administration-guide/onboard/corporate-directory-integration.html)
- Determine requirements for multi-factor authentication
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/multi-factor-authentication.html](https://docs.mattermost.com/administration-guide/onboard/multi-factor-authentication.html)
- Configure and test SSO or Corporate Directory integration (SAML or AD/LDAP)
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/sso-saml.html](https://docs.mattermost.com/administration-guide/onboard/sso-saml.html)
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/ad-ldap.html](https://docs.mattermost.com/administration-guide/onboard/ad-ldap.html)
- Define your mobile usage policy
> - Resource: [https://docs.mattermost.com/deployment-guide/mobile/mobile-app-deployment.html](https://docs.mattermost.com/deployment-guide/mobile/mobile-app-deployment.html)
- Evaluate external network access requirements
> - The [Mattermost Marketplace](https://mattermost.com/marketplace) is a service hosted by Mattermost that functions as a central place to store the current versions of available Mattermost integrations. See [Enable Remote Marketplace](/administration-guide/configure/plugins-configuration-settings#enable-remote-marketplace) documentation for details about required external network access.
> - Mattermost supports external GIF providers. See [GIF Commands](/administration-guide/configure/integrations-configuration-settings#enable-gif-picker) configuration documentation for details about required external network access.
#### 3. Create development, staging, and production environments
- Finalize production environment design basing hardware on expected usage and requirements for high availability
> - Resource: [https://docs.mattermost.com/deployment-guide/application-architecture.html](https://docs.mattermost.com/deployment-guide/application-architecture.html)
> - Resource: [https://docs.mattermost.com/deployment-guide/deployment-guide-index.html](https://docs.mattermost.com/deployment-guide/deployment-guide-index.html)
> - Resource: [https://docs.mattermost.com/administration-guide/scale/scaling-for-enterprise.html](https://docs.mattermost.com/administration-guide/scale/scaling-for-enterprise.html)
> - Resource: [https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html](https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html)
- Create development and staging environments
> - Recommend using to test early configurations for database, authentication, file storage, Elasticsearch, prior to setting up high availability and load balancing
> - Recommend configuring staging to be an identical replication of your production environment
- Create a production environment
> - Install Mattermost
>
> > - Install the number of nodes based on your high availability requirements outlined in your production environment design
> > - Recommendation: Use Kubernetes and the Mattermost Operator, with external supported external database and file storage solutions. This will also provide blue/green deployment, rolling upgrades, and canary builds
> >
> > > - Resource: [https://docs.mattermost.com/deployment-guide/server/deploy-kubernetes.html](https://docs.mattermost.com/deployment-guide/server/deploy-kubernetes.html)
>
> - Install and configure database
>
> > - Install the number of read and search replicas based on your high availability requirements outlined in your production environment design
> >
> > > - Resource: [https://docs.mattermost.com/deployment-guide/application-architecture.html](https://docs.mattermost.com/deployment-guide/application-architecture.html)
> >
> > - (Optional) Set up configuration management via the database instead of a config file for high available environments
> >
> > > - Resource: [https://docs.mattermost.com/administration-guide/configure/configuration-in-your-database.html](https://docs.mattermost.com/administration-guide/configure/configuration-in-your-database.html)
>
> - Install and configure File Storage
>
> > - Resource: [Set up file storage](/deployment-guide/server/prepare-file-storage)
>
> - Install and configure proxy or load balancers
>
> > - Note: If running Kubernetes and the Mattermost Operator, proxies will be created automatically.
> > - Add SSL Cert
> >
> > > - Resource: [https://docs.mattermost.com/administration-guide/onboard/ssl-client-certificate.html](https://docs.mattermost.com/administration-guide/onboard/ssl-client-certificate.html)
> > > - Resource: [https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html#proxy-server](https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html#proxy-server)
> >
> > - (Optional) Set up certificate-based authentication (CBA) for user or device-based authentication with a digital certificate
> >
> > > - Resource: [https://docs.mattermost.com/administration-guide/onboard/certificate-based-authentication.html](https://docs.mattermost.com/administration-guide/onboard/certificate-based-authentication.html)
>
> - Configure SMTP for email notifications
>
> > - Resource: [https://docs.mattermost.com/administration-guide/configure/smtp-email.html](https://docs.mattermost.com/administration-guide/configure/smtp-email.html)
>
> - Set up Elasticsearch (highly recommended if your organization anticipates over two million posts)
>
> > - Resource: [https://docs.mattermost.com/administration-guide/scale/elasticsearch-setup.html](https://docs.mattermost.com/administration-guide/scale/elasticsearch-setup.html)
- Document network configuration
> - Example: [https://docs.mattermost.com/administration-guide/scale/backing-storage-benchmarks.html](https://docs.mattermost.com/administration-guide/scale/backing-storage-benchmarks.html)
#### 4. Configure and customize your Mattermost site
- Login to Mattermost and access the System Console to connect your environment to Mattermost
> - Resource: [https://docs.mattermost.com/administration-guide/configure/configuration-settings.html#environment-variables](https://docs.mattermost.com/administration-guide/configure/configuration-settings.html#environment-variables)
> - Upload your valid Enterprise License under Edition and License
> - Ensure site URL is set appropriately for your production, dev and staging environments
> - Add your database configuration to **System Console \> Environment \> Database**
> - Add your Elasticsearch or AWS OpenSearch configuration to **System Console \> Environment \> Elasticsearch**
> - Add your file storage system configuration to **System Console \> Environment \> File Storage**
> - Add your proxy configuration to **System Console \> Environment \> Image Proxy**
> - Add your SMTP configuration to **System Console \> Environment \> SMTP**
> - Enable Push Notifications by adding your server to **System Console \> Environment \> Push Notification Server**
> - Add your cluster configuration to **System Console \> Environment \> High Availability**
- Configure your site within the System Console
> - Resource: [https://docs.mattermost.com/administration-guide/configure/configuration-settings.html#site-configuration](https://docs.mattermost.com/administration-guide/configure/configuration-settings.html#site-configuration)
- Set site access policies including permissions for roles and guest access
> - Permissions Resource: [https://docs.mattermost.com/administration-guide/onboard/advanced-permissions.html](https://docs.mattermost.com/administration-guide/onboard/advanced-permissions.html)
> - Guest Access Resource: [https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html](https://docs.mattermost.com/administration-guide/onboard/guest-accounts.html)
#### 5. Test production performance and redundancy
- Define and test disaster recovery policy and processes
> - Resource: [https://docs.mattermost.com/deployment-guide/server/deploy-kubernetes.html](https://docs.mattermost.com/deployment-guide/server/deploy-kubernetes.html)
> - Resource: [https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html#upgrade-guide](https://docs.mattermost.com/administration-guide/scale/high-availability-cluster-based-deployment.html#upgrade-guide)
- Performance test production environment
> - Load test production environment to verify that it will handle anticipated user load
>
> > - Resource: [https://github.com/mattermost/mattermost-load-test](https://github.com/mattermost/mattermost-load-test)
>
> - Set up Prometheus and Grafana to monitor performance
>
> > - Resource: [https://docs.mattermost.com/administration-guide/scale/deploy-prometheus-grafana-for-performance-monitoring.html](https://docs.mattermost.com/administration-guide/scale/deploy-prometheus-grafana-for-performance-monitoring.html)
>
> - Set up alerts in Grafana
>
> > - Resource: [https://docs.mattermost.com/administration-guide/scale/deploy-prometheus-grafana-for-performance-monitoring.html](https://docs.mattermost.com/administration-guide/scale/deploy-prometheus-grafana-for-performance-monitoring.html)
### Roll out Mattermost
Now that you have an environment in place, we recommend working through the following items in an iterative process. You may need to cycle through each of these topics multiple times to make adjustments to suit your organization as you onboard groups of users.
#### 1. Define your team and channel strategy
- Determine and create a team structure for your environment
> - Recommendation: Start with fewer teams in your early roll out
> - Resource: [https://docs.mattermost.com/end-user-guide/collaborate/channel-naming-conventions.html](https://docs.mattermost.com/end-user-guide/collaborate/channel-naming-conventions.html)
- Determine and create key channels to support your users. A default Town Square channel is created automatically and available on every team.
> - Recommendation: Add a “Support” channel for your users to escalate questions
- (Optional) Migrate messages and channels from legacy systems
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/migrating-to-mattermost.html](https://docs.mattermost.com/administration-guide/onboard/migrating-to-mattermost.html)
#### 2. Enable key integrations
- Build the list of key integrations and tools used by your teams
> - Resource: [https://developers.mattermost.com/integrate/getting-started/](https://developers.mattermost.com/integrate/getting-started/)
- Define use cases and requirements for plugins, bots, webhooks, slash commands
> - Resource: [https://developers.mattermost.com/integrate/other-integrations/](https://developers.mattermost.com/integrate/other-integrations/)
- Set up key integrations (or migrate from POC environments)
> - Resource: [https://mattermost.com/marketplace/](https://mattermost.com/marketplace/)
- Understand Mattermost API capabilities
> - Resource: [https://api.mattermost.com/](https://api.mattermost.com/)
#### 3. Prepare for user onboarding
- Onboard champion users
- Onboard trainers and support team
- Create a training plan
> - Resource: [https://academy.mattermost.com/](https://academy.mattermost.com/)
- Define user escalation and support processes
> - Ensure you have set the site’s support URL to your own support team under **System Console \> Site Configuration \> Customization**
- Notify users in advance of roll out
> - Sample email: [https://docs.mattermost.com/administration-guide/upgrade/welcome-email-to-end-users.html](https://docs.mattermost.com/administration-guide/upgrade/welcome-email-to-end-users.html)
#### 4. Deploy client apps
- Roll out desktop app
> - Resource: [https://docs.mattermost.com/deployment-guide/desktop/desktop-app-deployment.html](https://docs.mattermost.com/deployment-guide/desktop/desktop-app-deployment.html)
> - (Optional) Use the MSI installer to install on Windows machines
>
> > - Resource: [https://docs.mattermost.com/deployment-guide/desktop/desktop-msi-installer-and-group-policy-install.html](https://docs.mattermost.com/deployment-guide/desktop/desktop-msi-installer-and-group-policy-install.html)
- Roll out mobile app
> - Resource: [https://docs.mattermost.com/deployment-guide/mobile/mobile-app-deployment.html](https://docs.mattermost.com/deployment-guide/mobile/mobile-app-deployment.html)
> - (Optional) Use an EMM provider
>
> > - Resource: [https://docs.mattermost.com/deployment-guide/mobile/deploy-mobile-apps-using-emm-provider.html](https://docs.mattermost.com/deployment-guide/mobile/deploy-mobile-apps-using-emm-provider.html)
#### 5. Roll out to groups of users
- Provision user accounts
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/user-provisioning-workflows.html](https://docs.mattermost.com/administration-guide/onboard/user-provisioning-workflows.html)
- (Optional) Bulk import users
> - Resource: [https://docs.mattermost.com/administration-guide/onboard/bulk-loading-data.html](https://docs.mattermost.com/administration-guide/onboard/bulk-loading-data.html)
- Onboard users to teams and channels
> - Recommendation: Use LDAP Group Sync to automate this process
>
> > - Resource: [https://docs.mattermost.com/administration-guide/onboard/ad-ldap-groups-synchronization.html](https://docs.mattermost.com/administration-guide/onboard/ad-ldap-groups-synchronization.html)
- Implement your training plan to end users on how to use Mattermost
> - Train on using Mattermost
> - Train on how to use integrations
#### 6. Drive adoption
- Incrementally roll out to additional user groups
> - See “Roll Out to Groups of Users”
- Manage support requests and product requests from your end users
> - Resource: [https://mattermost.com/support/](https://mattermost.com/support/)
> - See the process below for escalating to Mattermost
- Enable additional integrations and plugins to support user workflows
> - Resource: [https://mattermost.com/marketplace/](https://mattermost.com/marketplace/)
- Understand management tools available to support users
> - mmctl Command Line Tool Resource: [https://docs.mattermost.com/administration-guide/manage/mmctl-command-line-tool.html](https://docs.mattermost.com/administration-guide/manage/mmctl-command-line-tool.html)
> - Command Line Tools Resource: [https://docs.mattermost.com/administration-guide/manage/command-line-tools.html](https://docs.mattermost.com/administration-guide/manage/command-line-tools.html)
### Review the roll out
We recommend that you review your rollout on a cadence that matches your iterative approach to rolling out to users. Below are some areas to consider.
#### 1. Review project charter success metrics
- Perform end-user surveys and measure satisfaction
- Verify use case fulfillment from original requirements gathering
- Measure your response time and resolution rate for user support issues
- Identify usage gaps and address or create a plan for addressing
#### 2. Review and analyze usage
- Review Project Charter success metrics - identify usage gaps and address or create a plan for addressing
- Monitor site and team statistics
> - Resource: [https://docs.mattermost.com/administration-guide/manage/statistics.html](https://docs.mattermost.com/administration-guide/manage/statistics.html)
> - Review: Total posts, total teams, total channels, total group chats, total direct chats, top channels, top teams
- Analyze usage by lines of business and peak usage times
#### 3. Analyze system performance
- Monitor trends in CPU/memory usage
- Review trends in database connections
- Review trends in Go routines
- Review trends in concurrent sessions
#### 4. Harden security
- Harden security controls around the web, desktop, and mobile security
- Harden configuration management
- Harden network security
> - Identify additional tests and scans
> - (Optional) Enable Compliance Reporting
>
> > - Resource: [https://docs.mattermost.com/administration-guide/comply/compliance-export.html](https://docs.mattermost.com/administration-guide/comply/compliance-export.html)
#### 5. Perform maintenance tasks
- Monitor for security updates (or sign up for email updates)
> - Resource: [https://mattermost.com/security-updates/](https://mattermost.com/security-updates/)
- Perform the first upgrade
> - Resource: [https://docs.mattermost.com/administration-guide/upgrade/upgrading-mattermost-server.html](https://docs.mattermost.com/administration-guide/upgrade/upgrading-mattermost-server.html)
- Determine upgrade schedule based on Mattermost release schedules and life cycle
> - Resource: [https://docs.mattermost.com/product-overview/releases-lifecycle.html](https://docs.mattermost.com/product-overview/releases-lifecycle.html)
- Run System checks and either address or set address-by date

View File

@@ -0,0 +1,22 @@
---
title: "Notify admin"
---
Some Mattermost features are limited to specific plans. Users who want to access these unavailable features can request access through their system admin by sending a notification.
If access to a feature requires a plan upgrade, system admins receive notifications of these requests in order to collect data before upgrading. For example, if only one end-user requests access to AD/LDAP, it probably isn't necessary to upgrade. However, if 20 users, including team and channel admins request it, you may want to consider upgrading to support this need.
This feature is designed for informational purposes only, and no action is required unless you want to take action. Your Mattermost instance's functionality is not affected if you choose not to upgrade.
## Notifications
Notifications are triggered by users. The very first time a user sends a request to upgrade or start a trial, a bot message is sent to all system admins indicating the feature or functionality the user has requested that requires an upgrade or trial. This bot message is listed in the **Direct Messages** section of the channel sidebar.
Subsequent request notifications are received by system admins at most every 14 days. When a notification is received by a system admin, a 14-day cool-off period begins. Any requests generated in the middle of the cool-off period will be held off until 14 days later, and then provided in a summarized format.
## Take action
You can take action on any of the requests sent using the options provided in the message.
## Dismiss notifications
You're not obligated to upgrade or change your plan. Once you've read the notification, it's marked as read and is filed in your list of direct messages. You can find the message at any time using the search bar. None of your existing Mattermost features and functions are affected negatively if you don't upgrade.

View File

@@ -0,0 +1,259 @@
---
title: "Open source components"
---
<PlanAvailability slug="ent-plus" />
The following open source components are used to provide the full benefits of Mattermost Enterprise.
## Desktop
- Mattermost Desktop v6.3.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-6.3/NOTICE.txt).
- Mattermost Desktop v6.2.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-6.2/NOTICE.txt).
- Mattermost Desktop v6.1.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-6.1/NOTICE.txt).
- Mattermost Desktop v6.0.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-6.0/NOTICE.txt).
- Mattermost Desktop v5.13.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.13/NOTICE.txt).
- Mattermost Desktop v5.12.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.12/NOTICE.txt).
- Mattermost Desktop v5.11.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.11/NOTICE.txt).
- Mattermost Desktop v5.10.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.10/NOTICE.txt).
- Mattermost Desktop v5.9.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.9/NOTICE.txt).
- Mattermost Desktop v5.8.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.8/NOTICE.txt).
- Mattermost Desktop v5.7.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.7/NOTICE.txt).
- Mattermost Desktop v5.6.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.6/NOTICE.txt).
- Mattermost Desktop v5.5.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.5/NOTICE.txt).
- Mattermost Desktop v5.4.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.4/NOTICE.txt).
- Mattermost Desktop v5.3.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.3/NOTICE.txt).
- Mattermost Desktop v5.2.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.2/NOTICE.txt).
- Mattermost Desktop v5.1.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.1/NOTICE.txt).
- Mattermost Desktop v5.0.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-5.0/NOTICE.txt).
- Mattermost Desktop v4.7.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.7/NOTICE.txt).
- Mattermost Desktop v4.6.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.6/NOTICE.txt).
- Mattermost Desktop v4.5.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.5/NOTICE.txt).
- Mattermost Desktop v4.4.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.4/NOTICE.txt).
- Mattermost Desktop v4.3.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.3.0/NOTICE.txt).
- Mattermost Desktop v4.2.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.2/NOTICE.txt).
- Mattermost Desktop v4.1.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.1/NOTICE.txt).
- Mattermost Desktop v4.0.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-4.0/NOTICE.txt).
- Mattermost Desktop v3.7.0 - [View Open Source Components](https://github.com/mattermost/desktop/blob/release-3.7/NOTICE.txt).
## Mobile
- Mattermost Mobile v2.43.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.43/NOTICE.txt).
- Mattermost Mobile v2.42.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.42/NOTICE.txt).
- Mattermost Mobile v2.41.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.41/NOTICE.txt).
- Mattermost Mobile v2.40.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.40/NOTICE.txt).
- Mattermost Mobile v2.39.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.39/NOTICE.txt).
- Mattermost Mobile v2.38.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.38/NOTICE.txt).
- Mattermost Mobile v2.37.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.37/NOTICE.txt).
- Mattermost Mobile v2.36.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.36/NOTICE.txt).
- Mattermost Mobile v2.35.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.35/NOTICE.txt).
- Mattermost Mobile v2.34.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.34/NOTICE.txt).
- Mattermost Mobile v2.33.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.33/NOTICE.txt).
- Mattermost Mobile v2.32.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.32/NOTICE.txt).
- Mattermost Mobile v2.31.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.31/NOTICE.txt).
- Mattermost Mobile v2.30.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.30/NOTICE.txt).
- Mattermost Mobile v2.29.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.29/NOTICE.txt).
- Mattermost Mobile v2.28.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.28/NOTICE.txt).
- Mattermost Mobile v2.27.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.27/NOTICE.txt).
- Mattermost Mobile v2.26.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.26/NOTICE.txt).
- Mattermost Mobile v2.25.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.25/NOTICE.txt).
- Mattermost Mobile v2.24.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.24/NOTICE.txt).
- Mattermost Mobile v2.23.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.23/NOTICE.txt).
- Mattermost Mobile v2.22.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.22/NOTICE.txt).
- Mattermost Mobile v2.21.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.21/NOTICE.txt).
- Mattermost Mobile v2.20.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.20/NOTICE.txt).
- Mattermost Mobile v2.19.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.19/NOTICE.txt).
- Mattermost Mobile v2.18.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.18/NOTICE.txt).
- Mattermost Mobile v2.17.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.17/NOTICE.txt).
- Mattermost Mobile v2.16.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.16/NOTICE.txt).
- Mattermost Mobile v2.15.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.15/NOTICE.txt).
- Mattermost Mobile v2.14.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.14/NOTICE.txt).
- Mattermost Mobile v2.13.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.13/NOTICE.txt).
- Mattermost Mobile v2.12.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.12/NOTICE.txt).
- Mattermost Mobile v2.11.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.11/NOTICE.txt).
- Mattermost Mobile v2.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.10/NOTICE.txt).
- Mattermost Mobile v2.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.9/NOTICE.txt).
- Mattermost Mobile v2.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.8/NOTICE.txt).
- Mattermost Mobile v2.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.7/NOTICE.txt).
- Mattermost Mobile v2.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.6/NOTICE.txt).
- Mattermost Mobile v2.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.5/NOTICE.txt).
- Mattermost Mobile v2.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.4/NOTICE.txt).
- Mattermost Mobile v2.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.3/NOTICE.txt).
- Mattermost Mobile v2.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.2/NOTICE.txt).
- Mattermost Mobile v2.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.1/NOTICE.txt).
- Mattermost Mobile v2.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-2.0/NOTICE.txt).
- Mattermost Mobile v1.55.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.55/NOTICE.txt).
- Mattermost Mobile v1.54.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.54/NOTICE.txt).
- Mattermost Mobile v1.53.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.53/NOTICE.txt).
- Mattermost Mobile v1.52.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.52/NOTICE.txt).
- Mattermost Mobile v1.51.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.51/NOTICE.txt).
- Mattermost Mobile v1.50.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.50/NOTICE.txt).
- Mattermost Mobile v1.49.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.49/NOTICE.txt).
- Mattermost Mobile v1.48.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.48/NOTICE.txt).
- Mattermost Mobile v1.47.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.47/NOTICE.txt).
- Mattermost Mobile v1.46.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.46/NOTICE.txt).
- Mattermost Mobile v1.45.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.45/NOTICE.txt).
- Mattermost Mobile v1.44.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.44/NOTICE.txt).
- Mattermost Mobile v1.43.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.43/NOTICE.txt).
- Mattermost Mobile v1.42.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.42/NOTICE.txt).
- Mattermost Mobile v1.41.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.41/NOTICE.txt).
- Mattermost Mobile v1.40.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.40/NOTICE.txt).
- Mattermost Mobile v1.39.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.39/NOTICE.txt).
- Mattermost Mobile v1.38.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.38/NOTICE.txt).
- Mattermost Mobile v1.37.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.37/NOTICE.txt).
- Mattermost Mobile v1.36.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.36/NOTICE.txt).
- Mattermost Mobile v1.35.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.35/NOTICE.txt).
- Mattermost Mobile v1.34.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.34/NOTICE.txt).
- Mattermost Mobile v1.33.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.33/NOTICE.txt).
- Mattermost Mobile v1.32.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.32/NOTICE.txt).
- Mattermost Mobile v1.31.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.31/NOTICE.txt).
- Mattermost Mobile v1.30.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.30/NOTICE.txt).
- Mattermost Mobile v1.29.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.29/NOTICE.txt).
- Mattermost Mobile v1.28.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.28/NOTICE.txt).
- Mattermost Mobile v1.27.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.27/NOTICE.txt).
- Mattermost Mobile v1.26.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.26/NOTICE.txt).
- Mattermost Mobile v1.25.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.25/NOTICE.txt).
- Mattermost Mobile v1.24.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.24/NOTICE.txt).
- Mattermost Mobile v1.23.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.23/NOTICE.txt).
- Mattermost Mobile v1.22.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.22/NOTICE.txt).
- Mattermost Mobile v1.21.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.21/NOTICE.txt).
- Mattermost Mobile v1.20.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.20/NOTICE.txt).
- Mattermost Mobile v1.19.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.19/NOTICE.txt).
- Mattermost Mobile v1.18.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.18/NOTICE.txt).
- Mattermost Mobile v1.17.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.17/NOTICE.txt).
- Mattermost Mobile v1.16.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.16/NOTICE.txt).
- Mattermost Mobile v1.15.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.15/NOTICE.txt).
- Mattermost Mobile v1.14.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.14/NOTICE.txt).
- Mattermost Mobile v1.13.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.13/NOTICE.txt).
- Mattermost Mobile v1.12.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.12/NOTICE.txt).
- Mattermost Mobile v1.11.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.11/NOTICE.txt).
- Mattermost Mobile v1.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.10/NOTICE.txt).
- Mattermost Mobile v1.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.9/NOTICE.txt).
- Mattermost Mobile v1.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.8/NOTICE.txt).
- Mattermost Mobile v1.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.7/NOTICE.txt).
- Mattermost Mobile v1.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.6/NOTICE.txt).
- Mattermost Mobile v1.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.5/NOTICE.txt).
- Mattermost Mobile v1.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.4/NOTICE.txt).
- Mattermost Mobile v1.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.3/NOTICE.txt).
- Mattermost Mobile v1.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.2/NOTICE.txt).
- Mattermost Mobile v1.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.1/NOTICE.txt).
- Mattermost Mobile v1.0.1 - [View Open Source Components](https://github.com/mattermost/mattermost-mobile/blob/release-1.0.1/NOTICE.txt).
## Server
- Mattermost Enterprise Edition v11.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.10/NOTICE.txt).
- Mattermost Enterprise Edition v11.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.9/NOTICE.txt).
- Mattermost Enterprise Edition v11.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.8/NOTICE.txt).
- Mattermost Enterprise Edition v11.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.7/NOTICE.txt).
- Mattermost Enterprise Edition v11.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.6/NOTICE.txt).
- Mattermost Enterprise Edition v11.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.5/NOTICE.txt).
- Mattermost Enterprise Edition v11.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.4/NOTICE.txt).
- Mattermost Enterprise Edition v11.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.3/NOTICE.txt).
- Mattermost Enterprise Edition v11.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.2/NOTICE.txt).
- Mattermost Enterprise Edition v11.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.1/NOTICE.txt).
- Mattermost Enterprise Edition v11.0.2 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-11.0/NOTICE.txt).
- Mattermost Enterprise Edition v10.12.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.12/NOTICE.txt).
- Mattermost Enterprise Edition v10.11.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.11/NOTICE.txt).
- Mattermost Enterprise Edition v10.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.10/NOTICE.txt).
- Mattermost Enterprise Edition v10.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.9/NOTICE.txt).
- Mattermost Enterprise Edition v10.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.8/NOTICE.txt).
- Mattermost Enterprise Edition v10.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.7/NOTICE.txt).
- Mattermost Enterprise Edition v10.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.6/NOTICE.txt).
- Mattermost Enterprise Edition v10.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.5/NOTICE.txt).
- Mattermost Enterprise Edition v10.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.4/NOTICE.txt).
- Mattermost Enterprise Edition v10.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.3/NOTICE.txt).
- Mattermost Enterprise Edition v10.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.2/NOTICE.txt).
- Mattermost Enterprise Edition v10.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.1/NOTICE.txt).
- Mattermost Enterprise Edition v10.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-10.0/NOTICE.txt).
- Mattermost Enterprise Edition v9.11.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.11/NOTICE.txt).
- Mattermost Enterprise Edition v9.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.10/NOTICE.txt).
- Mattermost Enterprise Edition v9.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.9/NOTICE.txt).
- Mattermost Enterprise Edition v9.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.8/NOTICE.txt).
- Mattermost Enterprise Edition v9.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.7/NOTICE.txt).
- Mattermost Enterprise Edition v9.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.6/NOTICE.txt).
- Mattermost Enterprise Edition v9.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.5/NOTICE.txt).
- Mattermost Enterprise Edition v9.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.4/NOTICE.txt).
- Mattermost Enterprise Edition v9.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.3/NOTICE.txt).
- Mattermost Enterprise Edition v9.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.2/NOTICE.txt).
- Mattermost Enterprise Edition v9.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.1/NOTICE.txt).
- Mattermost Enterprise Edition v9.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-9.0/NOTICE.txt).
- Mattermost Enterprise Edition v8.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-8.1/NOTICE.txt).
- Mattermost Enterprise Edition v8.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-8.0/NOTICE.txt).
- Mattermost Enterprise Edition v7.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.10/NOTICE.txt).
- Mattermost Enterprise Edition v7.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.9/NOTICE.txt).
- Mattermost Enterprise Edition v7.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.8/NOTICE.txt).
- Mattermost Enterprise Edition v7.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.7/NOTICE.txt).
- Mattermost Enterprise Edition v7.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.5/NOTICE.txt).
- Mattermost Enterprise Edition v7.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.4/NOTICE.txt).
- Mattermost Enterprise Edition v7.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.3/NOTICE.txt).
- Mattermost Enterprise Edition v7.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.2/NOTICE.txt).
- Mattermost Enterprise Edition v7.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.1/NOTICE.txt).
- Mattermost Enterprise Edition v7.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-7.0/NOTICE.txt).
- Mattermost Enterprise Edition v6.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.7/NOTICE.txt).
- Mattermost Enterprise Edition v6.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.6/NOTICE.txt).
- Mattermost Enterprise Edition v6.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.5/NOTICE.txt).
- Mattermost Enterprise Edition v6.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.4/NOTICE.txt).
- Mattermost Enterprise Edition v6.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.3/NOTICE.txt).
- Mattermost Enterprise Edition v6.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.2/NOTICE.txt).
- Mattermost Enterprise Edition v6.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.1/NOTICE.txt).
- Mattermost Enterprise Edition v6.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-6.0/NOTICE.txt).
- Mattermost Enterprise Edition v5.39.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.39/NOTICE.txt).
- Mattermost Enterprise Edition v5.38.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.38/NOTICE.txt).
- Mattermost Enterprise Edition v5.37.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.37/NOTICE.txt).
- Mattermost Enterprise Edition v5.36.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.36/NOTICE.txt).
- Mattermost Enterprise Edition v5.35.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.35/NOTICE.txt).
- Mattermost Enterprise Edition v5.34.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.34/NOTICE.txt).
- Mattermost Enterprise Edition v5.33.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.33/NOTICE.txt).
- Mattermost Enterprise Edition v5.32.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.32/NOTICE.txt).
- Mattermost Enterprise Edition v5.31.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.31/NOTICE.txt).
- Mattermost Enterprise Edition v5.30.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.30/NOTICE.txt).
- Mattermost Enterprise Edition v5.29.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.29/NOTICE.txt).
- Mattermost Enterprise Edition v5.28.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.28/NOTICE.txt).
- Mattermost Enterprise Edition v5.27.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.27/NOTICE.txt).
- Mattermost Enterprise Edition v5.26.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.26/NOTICE.txt).
- Mattermost Enterprise Edition v5.25.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.25/NOTICE.txt).
- Mattermost Enterprise Edition v5.24.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.24/NOTICE.txt).
- Mattermost Enterprise Edition v5.23.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.23/NOTICE.txt).
- Mattermost Enterprise Edition v5.22.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.22/NOTICE.txt).
- Mattermost Enterprise Edition v5.21.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.21/NOTICE.txt).
- Mattermost Enterprise Edition v5.20.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.20/NOTICE.txt).
- Mattermost Enterprise Edition v5.19.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.19/NOTICE.txt).
- Mattermost Enterprise Edition v5.18.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.18/NOTICE.txt).
- Mattermost Enterprise Edition v5.17.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.17/NOTICE.txt).
- Mattermost Enterprise Edition v5.16.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.16/NOTICE.txt).
- Mattermost Enterprise Edition v5.15.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.15/NOTICE.txt).
- Mattermost Enterprise Edition v5.14.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.14/NOTICE.txt).
- Mattermost Enterprise Edition v5.13.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.13/NOTICE.txt).
- Mattermost Enterprise Edition v5.12.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.12/NOTICE.txt).
- Mattermost Enterprise Edition v5.11.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.11/NOTICE.txt).
- Mattermost Enterprise Edition v5.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.10/NOTICE.txt).
- Mattermost Enterprise Edition v5.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.9/NOTICE.txt).
- Mattermost Enterprise Edition v5.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.8/NOTICE.txt).
- Mattermost Enterprise Edition v5.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.7/NOTICE.txt).
- Mattermost Enterprise Edition v5.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.6/NOTICE.txt).
- Mattermost Enterprise Edition v5.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.5/NOTICE.txt).
- Mattermost Enterprise Edition v5.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.4/NOTICE.txt).
- Mattermost Enterprise Edition v5.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.3/NOTICE.txt).
- Mattermost Enterprise Edition v5.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.2/NOTICE.txt).
- Mattermost Enterprise Edition v5.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.1/NOTICE.txt).
- Mattermost Enterprise Edition v5.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-5.0/NOTICE.txt).
- Mattermost Enterprise Edition v4.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.10/NOTICE.txt).
- Mattermost Enterprise Edition v4.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.9/NOTICE.txt).
- Mattermost Enterprise Edition v4.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.8/NOTICE.txt).
- Mattermost Enterprise Edition v4.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.7/NOTICE.txt).
- Mattermost Enterprise Edition v4.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.6/NOTICE.txt).
- Mattermost Enterprise Edition v4.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.5/NOTICE.txt).
- Mattermost Enterprise Edition v4.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.4/NOTICE.txt).
- Mattermost Enterprise Edition v4.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.3/NOTICE.txt).
- Mattermost Enterprise Edition v4.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.2/NOTICE.txt).
- Mattermost Enterprise Edition v4.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.1/NOTICE.txt).
- Mattermost Enterprise Edition v4.0.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-4.0/NOTICE.txt).
- Mattermost Enterprise Edition v3.10.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.10/NOTICE.txt).
- Mattermost Enterprise Edition v3.9.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.9/NOTICE.txt).
- Mattermost Enterprise Edition v3.8.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.8/NOTICE.txt).
- Mattermost Enterprise Edition v3.7.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.7/NOTICE.txt).
- Mattermost Enterprise Edition v3.6.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.6/NOTICE.txt).
- Mattermost Enterprise Edition v3.5.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.5/NOTICE.txt).
- Mattermost Enterprise Edition v3.4.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.4/NOTICE.txt).
- Mattermost Enterprise Edition v3.3.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.3/NOTICE.txt).
- Mattermost Enterprise Edition v3.2.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.2/NOTICE.txt).
- Mattermost Enterprise Edition v3.1.0 - [View Open Source Components](https://github.com/mattermost/mattermost-server/blob/release-3.1/NOTICE.txt).

View File

@@ -0,0 +1,124 @@
---
title: "Prepare to upgrade Mattermost"
---
<PlanAvailability slug="all-commercial" />
In most cases, you can [upgrade Mattermost Server](/administration-guide/upgrade/upgrading-mattermost-server) in a few minutes. However, the upgrade can take longer depending on several factors, including the size and complexity of your installation, and the version that you're upgrading from. When planning an upgrade, it's worth confirming that your current database and operating system version are still supported. Details can be found on our [software and hardware requirements](/deployment-guide/software-hardware-requirements#server-software) page.
## Upgrade Best Practices
Mattermost will aim to have non-locking, backwards-compatible migrations in general. This backwards compatibility guarantee extends to only the last ESR version. For example, if there are three ESR versions ESR1, ESR2, and ESR3, upgrading from ESR1 to ESR2, and then ESR2 to ESR3 will ensure backwards compatibility, but not from ESR1 to ESR3 directly.
In the case of delayed upgrades, we recommend upgrading to the closest ESR version first, and from there to the next ESR. Do not attempt to directly upgrade to the latest version as it might break backwards compatibility of the older nodes in the cluster during the upgrade.
## Upgrade to Mattermost v7.1
Mattermost v7.1 introduces schema changes in the form of a new column and its index. Our test results for the schema changes include:
- PostgreSQL 12M Posts, 2.5M Reactions - ~1min 18s (instance: db.r5.2xlarge)
You can run the following SQL queries before the upgrade that obtains a lock on `Reactions` table. Users' reactions posted during this time won't be reflected in the database until the migrations are complete. This is fully backwards-compatible.
If your connection collation and table collations are different, this can result in the error <code>Illegal mix of collations</code>. To resolve this error, set the same collation for both the connection and the table. There are different collations at different levels - connection, database, table, column, and database administrators may choose to set different collation levels for different objects.
`ALTER TABLE reactions ADD COLUMN IF NOT EXISTS channelid varchar(26) NOT NULL DEFAULT '';`
`UPDATE reactions SET channelid = COALESCE((select channelid from posts where posts.id = reactions.postid), '') WHERE channelid='';`
`CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_reactions_channel_id on reactions (channelid);`
## Upgrade to Mattermost v6.7
Mattermost v6.7 introduces schema changes in the form of a new index. The following notes our test results for the schema changes:
- Postgres 7M Posts - ~9s (instance: db.r5.xlarge)
If you want a zero downtime upgrade, you can apply this index prior to doing the upgrade.
`CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_posts_create_at_id on posts(createat, id);`
This is fully backwards-compatible and will not acquire any table lock or affect any existing operations on the table.
## Upgrade to Mattermost v6.0
A Mattermost Server v6.0 upgrade will run significant database schema changes that can cause an extended startup time depending on the dataset size. Zero downtime won't be possible for v6.0, but depending on the efforts made during the migration process, it can be minimized to a large extent.
Running queries prior to the upgrade can also save some downtime. However, some queries can still cause full table locking and require Mattermost to be in read-only mode for the duration of the query.
We strongly recommend that you:
- Set up a maintenance window outside of working hours to mitigate the migration impact.
- Keep a backup of your database to ensure you can load a previous database snapshot if necessary.
- Upgrade your instance of Mattermost to the latest [Extended Support Release (ESR)](/product-overview/mattermost-server-releases) first before attempting to run the Mattermost v6.0 upgrade.
<Important>
Support for Mattermost Server v10.11 [Extended Support Release](/product-overview/mattermost-server-releases) has come to the end of its life cycle on August 15, 2026. Upgrading to Mattermost Server v11.7 Extended Support Release or later is required. Upgrading from the previous Extended Support Release to the latest Extended Support Release is supported. Review the [important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) for all intermediate versions in between to ensure you’re aware of the possible migrations that could affect your upgrade.
</Important>
### v6.0 database schema migrations
Mattermost v6.0 introduces several database schema changes to improve both database and application performance. The upgrade will run significant database schema changes that can cause an extended startup time depending on the dataset size. We've conducted extensive tests on supported PostgreSQL database drivers, using realistic datasets of more than 10 million posts and more than 72 million posts.
The following query executed during the migration process will have a significant impact on database CPU usage and write operation restrictions for the duration of the query:
`ALTER TABLE posts ALTER COLUMN props TYPE jsonb USING props::jsonb;` (~ 11 minutes)
For a complete breakdown of PostgreSQL queries, as well as their impact and duration, see the [Mattermost v6.0 DB schema migrations analysis](https://gist.github.com/streamer45/59b3582118913d4fc5e8ff81ea78b055#postgresql-1).
## Upgrade from releases older than v5.35
Customers upgrading from a release older than Mattermost v5.35 should expect extended downtime when upgrading to v6.0 due to the introduction of backend database architecture introduced in v5.35. This upgrade path isn't recommended for large installations. We recommend upgrading to the latest [Extended Support Release (ESR)](/product-overview/mattermost-server-releases) first before upgrading to Mattermost v6.0. See the [unsupported legacy releases](/product-overview/unsupported-legacy-releases) documentation for additional details.
If you're upgrading from a version prior to Mattermost v5.0, you can't upgrade directly to v6.0. Instead, we strongly recommend approaching the upgrade in phases, starting with an upgrade to the latest ESR first, followed by the upgrade to v6.0. During the first phase of updates, you must also modify your service file to work with the binary changes introduced with the v5.0 release. Your execution directory should point to the Mattermost base directory (i.e. `/opt/mattermost`), and your binary should point to the `mattermost` binary (i.e. `/opt/mattermost/bin/mattermost`).
Ensure you review the [important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) for all intermediate release versions in between to ensure you’re aware of the possible migrations that could affect your upgrade.
<Note>
Customers upgrading from releases older than v5.35 following our recommended upgrade process may encounter the following error during the upgrade to v6.0:
`Failed to alter column type. It is likely you have invalid JSON values in the column. Please fix the values manually and run the migration again.","caller":"sqlstore/store.go:854","error":"pq: unsupported Unicode escape sequence`
To assist with troubleshooting, you can enable `SqlSettings.Trace` to narrow down what table and column are causing issues during the upgrade. The following queries change the columns to JSONB format in PostgreSQL. Run these against your v5.39 development database to find out which table and column has Unicode issues:
``` sh
ALTER TABLE posts ALTER COLUMN props TYPE jsonb USING props::jsonb;
ALTER TABLE channelmembers ALTER COLUMN notifyprops TYPE jsonb USING notifyprops::jsonb;
ALTER TABLE jobs ALTER COLUMN data TYPE jsonb USING data::jsonb;
ALTER TABLE linkmetadata ALTER COLUMN data TYPE jsonb USING data::jsonb;
ALTER TABLE sessions ALTER COLUMN props TYPE jsonb USING props::jsonb;
ALTER TABLE threads ALTER COLUMN participants TYPE jsonb USING participants::jsonb;
ALTER TABLE users ALTER COLUMN props TYPE jsonb USING props::jsonb;
ALTER TABLE users ALTER COLUMN notifyprops TYPE jsonb USING notifyprops::jsonb;
ALTER TABLE users ALTER COLUMN timezone TYPE jsonb USING timezone::jsonb;
```
Once you've identified the table being affected, verify how many invalid occurrences of <code>u0000</code> you have using the following SELECT query:
``` sh
SELECT COUNT(*) FROM TableName WHERE ColumnName LIKE '%\u0000%';
```
Then select and fix the rows accordingly. If you prefer, you can also fix all occurrences at once in a given table or column using the following UPDATE query:
``` sh
UPDATE TableName SET ColumnName = regexp_replace(ColumnName, '\\u0000', '', 'g') WHERE ColumnName LIKE '%\u0000%';
```
</Note>
## Upgrade high availability cluster-based deployments
In [high availability cluster-based](/deployment-guide/server/high-availability-cluster-based-deployment) environments, you should expect to schedule downtime for the upgrade to v6.0. Based on your database size and setup, the migration to v6.0 can take a significant amount of time, and may even lock the tables for posts which will prevent your users from posting or receiving messages until the migration is complete.
Ensure you review the [high availability cluster-based deployment upgrade guide](/deployment-guide/server/high-availability-cluster-based-deployment#upgrade-guide), as well as the [important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) to make sure you're aware of any actions you need to take before or after upgrading from your particular version.
<Important>
Running two different versions of Mattermost in your cluster should not be done outside of an upgrade scenario. Due to a fundamental change to the clustering code in v6.0, nodes from different versions cannot be run, as noted in the [important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) product documentation.
The release of v6.0 also introduces database schema changes and longer migration times should be expected.
</Important>

View File

@@ -0,0 +1,26 @@
---
title: "Upgrade Mattermost"
sidebar_label: "Upgrade"
---
<PlanAvailability slug="all-commercial" />
Stay up to date with the latest features and improvements.
- [Important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) - Find version-specific upgrade considerations.
- [Prepare to upgrade Mattermost](/administration-guide/upgrade/prepare-to-upgrade-mattermost) - Learn how to prepare for a Mattermost upgrade.
- [Communicate scheduled maintenance best practices](/administration-guide/upgrade/communicate-scheduled-maintenance) - Learn best practices for communicating scheduled server maintenance in advance of a service maintenance window.
- [Upgrade Mattermost Server](/administration-guide/upgrade/upgrading-mattermost-server) - Learn the basics of upgrading your Mattermost server to the latest version.
- [Upgrade Mattermost in Kubernetes and High Availability environments](/administration-guide/upgrade/upgrade-mattermost-kubernetes-ha) - Learn how to upgrade Mattermost in Kubernetes and High Availability environments.
- [Upgrade PostgreSQL](/administration-guide/upgrade/upgrading-postgres) - Learn how to upgrade your PostgreSQL database server.
- [Upgrade Team Edition to Enterprise Edition](/administration-guide/upgrade/enterprise-install-upgrade) - Learn how to upgrade your Mattermost Team Edition server to Enterprise Edition.
- [Downgrade Mattermost Server](/administration-guide/upgrade/downgrading-mattermost-server) - Find out how to roll back to older versions of Mattermost.
## After you upgrade
- [Administrator onboarding tasks](/administration-guide/upgrade/admin-onboarding-tasks) - Learn about the onboarding tasks for administrators after an upgrade.
- [Enterprise roll-out checklist](/administration-guide/upgrade/enterprise-roll-out-checklist) - Learn about the roll-out checklist for enterprise users.
- [Welcome email to end users](/administration-guide/upgrade/welcome-email-to-end-users) - Learn how to send a welcome email to end users after an upgrade.
## Reference
- [Open source components](/administration-guide/upgrade/open-source-components) - Find out about the open source components used in Mattermost.

View File

@@ -0,0 +1,239 @@
---
title: "Upgrade Mattermost in Kubernetes and High Availability environments"
---
<PlanAvailability slug="ent-plus" />
This guide provides a resilient and comprehensive strategy for upgrading Mattermost deployments managed via Kubernetes and the Mattermost Operator, including High Availability (HA) and optional Active/Active failover configurations. It outlines best practices to ensure zero downtime, minimize service risk, and provide robust fallback mechanisms.
## Architecture overview
### Kubernetes-based deployment
Mattermost uses [Kubernetes](/deployment-guide/server/deploy-kubernetes) for container orchestration, deployed and managed via Helm charts and the [Mattermost Operator](#install-mattermost-operator). This model enables scalable, highly available, and automatically managed application lifecycles.
The Mattermost Operator handles the upgrade process automatically, ensuring that pods are updated incrementally and that traffic is routed correctly throughout the upgrade. If an error occurs during the upgrade, the Operator will not apply any changes, allowing you to investigate and resolve the issue or manually roll back without impacting the live environment. See the [Downgrade Mattermost Server](/administration-guide/upgrade/downgrading-mattermost-server) documentation for rollback details.
Health monitoring ensures that only healthy pods are replaced, and new pods are brought online only after passing health checks. New pods are deployed with the updated version, while old pods are gracefully terminated.
### High Availability
In [High Availability (HA) cluster-based deployments](/deployment-guide/server/high-availability-cluster-based-deployment), Mattermost runs multiple application servers in a cluster. This configuration ensures that if one server fails, others can continue to serve requests without downtime. User traffic load balancing is managed with services such as NGINX Ingress or HAProxy. [PostgreSQL](/deployment-guide/server/prepare-database) and [file storage](/deployment-guide/server/prepare-file-storage) are deployed with replication for redundancy and failover.
### Active/Active deployments
An Active/Active configuration is optional and consists of two or more Mattermost clusters running concurrently across geographically distributed regions or availability zones. Each cluster is capable of serving live user traffic and processing requests independently while remaining in sync with shared backend components such as the database and file storage.
Key benefits for enterprise customers include:
- **Resilience and uptime**: If a site becomes unavailable due to maintenance or an outage, another site can continue to serve users with minimal disruption.
- **Geographic distribution**: Users connect to the nearest cluster for lower latency and faster response times.
- **Load distribution**: Workload can be balanced between clusters to improve performance and system scalability.
These deployments require careful configuration management and coordination to ensure data consistency, upgrade safety, and seamless traffic failover. These clusters must maintain configuration/data consistency and require coordinated upgrades. See the [Active/Active upgrade considerations](#step-3-activeactive-upgrade-considerations) section for recommendations.
## Step 1: Prepare
This phase ensures your environment is healthy, backed up, and ready for an upgrade. Follow each step carefully to avoid disruptions and to ensure rollback readiness.
<Important>
- **Backup your data**: Always back up your database and file storage before starting an upgrade. This ensures you can restore to a previous state in case of issues during the upgrade process.
- **Upgrade safely**: The Mattermost Operator performs upgrade validation checks before rollout. If checks fail, the upgrade is blocked and no changes are applied. If checks pass, the Operator upgrades pods incrementally to maintain uptime.
</Important>
### Pre-upgrade checklist
1. **Cluster health**: Ensure all nodes are in a ready state and all pods are running without errors. This step is crucial to avoid issues during the upgrade process. Use the following commands to check cluster health:
> ``` bash
> kubectl get nodes
> kubectl get pods --all-namespaces
> ```
2. **Helm setup**: Verify that Helm is installed and configured correctly in your Kubernetes cluster. Ensure you have the latest version of the Mattermost Operator Helm chart. Use the following commands to check Helm setup:
> ``` bash
> helm repo update
> helm upgrade mattermost-operator mattermost/mattermost-operator -n <OPERATOR_NAMESPACE_HERE> -f <OPTIONAL_CUSTOM_VALUES_HERE>
> ```
3. **Confirm Mattermost Operator version**: Make sure the image version matches the latest supported release from the Helm repository. Use the following command to check the current image version of the Mattermost Operator:
> ``` bash
> kubectl get deployment mattermost-operator -n mattermost -o=jsonpath='&#123;.spec.template.spec.containers[0].image&#125;'
> ```
4. **Verify available resources**: Ensure your Kubernetes cluster has sufficient CPU and memory resources to handle the upgrade process. Use the following commands to check resource availability:
> ``` bash
> kubectl top nodes
> kubectl describe node | grep Allocatable
> ```
5. Back up database and file storage.
> Use `pg_dump` or volume snapshots to create a full backup to a secure, external location (e.g., S3 or NFS). Validate the backup can be restored. See the [Backup and Disaster Recovery](/deployment-guide/backup-disaster-recovery) documentation for details.
6. **Ensure configuration consistency**: Validate that `values.yaml`, secrets, and other configuration files are version-controlled and consistent across all clusters (required for [Active/Active deployments](#step-3-activeactive-upgrade-considerations)). Use tools like GitOps or configuration management systems to ensure all clusters have the same configuration.
7. We strongly recommend performing a dry run by testing the upgrade in a staging environment that mirrors production to catch misconfigurations early.
## Step 2: Perform the upgrade
This step involves updating the Mattermost Operator and Mattermost server to a new version. The Operator manages the upgrade process, ensuring that pods are updated incrementally and that traffic is routed correctly throughout the upgrade.
We recommend having a separate Mattermost custom resource. See the [Deploy Mattermost on Kubernetes](/deployment-guide/server/deploy-kubernetes) documentation for details.
1. In the separate resource, update the `version` field in your `mattermost-installation.yaml` file by replacing the `<new-version-tag>` with the specific version you are upgrading to:
> ``` yaml
> apiVersion: installation.mattermost.com/v1beta1
> kind: Mattermost
> metadata:
> name: <INSTALLATION_NAME_HERE>
> spec:
> version: &lt;new-version-tag&gt; # Update this field
> ```
>
> Alternatively, if you're using Helm `values.yaml` directly, update it with the desired Mattermost version:
>
> ``` yaml
> image:
> repository: mattermost/mattermost-enterprise-edition
> tag: &lt;new-version-tag&gt;
> ```
2. Apply the updated configuration:
> For Mattermost custom resource deployments:
>
> ``` bash
> kubectl apply -f mattermost-installation.yaml
> ```
>
> For Helm values deployments:
>
> ``` bash
> helm upgrade mattermost mattermost/mattermost-operator -f values.yaml
> ```
3. Monitor the rollout by tracking upgrade progress and logs with the following commands:
> ``` bash
> kubectl get pods -n mattermost
> kubectl logs -f &lt;pod-name&gt; -n mattermost
> ```
New pods are started with the updated version. Old pods are gracefully terminated after health checks pass, and traffic remains uninterrupted due to rolling upgrade behavior. NGINX, HAProxy, or Ingress configurations continue routing traffic seamlessly during the upgrade process.
## Step 3: Active/Active upgrade considerations
When your deployment includes an Active/Active configuration with multi-cluster or multi-region deployments, you must ensure that all clusters are upgraded in a coordinated manner to maintain data consistency and service availability.
For coordinated site upgrades, we recommend the following steps:
- Use your global load balancer or DNS to route traffic away from the site being upgraded.
- Upgrade one site at a time while directing traffic to the other. This minimizes downtime and allows for validation of the upgrade process.
- Confirm replication health for databases and storage before proceeding to the next site.
- Monitor performance and logs before resuming traffic to the upgraded site.
To prevent split-brain scenarios during upgrades and ensure data consistency:
- Use a global load balancer or DNS to direct traffic exclusively to the active site.
- Disable writes on the site being upgraded until the upgrade is complete and validated.
- Confirm that only one site is actively writing data at any time.
- Monitor logs for signs of replication lag, file synchronization issues, or data divergence.
- Validate the health of data replication channels before and after each site upgrade.
## Step 4: Validate
After the upgrade:
1. Confirm that all pods are healthy and running the expected version using the following command:
> ``` bash
> kubectl get pods -n mattermost -o=jsonpath='&#123;.items[*].spec.containers[*].image&#125;'
> ```
3. Perform product smoke tests:
> - Log in to the Mattermost web interface and navigate across teams and channels.
> - Test core functionalities such as posting messages and uploading files.
> - Verify that all integrations, webhooks, and plugins are functioning as expected.
> - Check for error messages in the logs.
4. Use monitoring tools to confirm application health and performance. See the [Performance monitoring with Prometheus and Grafana](/administration-guide/scale/deploy-prometheus-grafana-for-performance-monitoring) documentation or the [Metrics plugin](/administration-guide/scale/performance-monitoring-metrics) documentation for details on collecting and reviewing performance metrics.
## Rollback strategy
In case of upgrade issues, rollback should be performed by modifying the custom resource and setting the Mattermost version back to its original value.
For Mattermost custom resource deployments, update the `version` field in your `mattermost-installation.yaml` file to the previous version:
``` yaml
apiVersion: installation.mattermost.com/v1beta1
kind: Mattermost
metadata:
name: <INSTALLATION_NAME_HERE>
spec:
version: <previous-version-tag> # Set back to previous version
```
Then apply the rollback:
``` bash
kubectl apply -f mattermost-installation.yaml
```
Alternatively, for Helm values deployments, use Helm's rollback command:
``` bash
helm rollback mattermost <revision_number>
```
Restore your PostgreSQL database and file store backups if needed. Refer to the [Backup and Disaster Recovery](/deployment-guide/backup-disaster-recovery) documentation for detailed guidance.
## Frequently asked questions
### How can I confirm an upgrade was successful?
A successful upgrade is indicated by:
- All pods running the expected image version
- No errors in pod logs
- Functional smoke tests passing (login, messaging, file upload, etc.)
- No anomalies in monitoring dashboards
### What should I monitor post-upgrade?
We recommend monitoring the following key metrics after an upgrade:
- Pod health and restarts
- Application logs for errors or warnings
- Database replication health (if HA or Active/Active)
- Performance metrics (latency, error rate) via Prometheus/Grafana
### How can I test upgrades without impacting production?
We strongly recommend deploying a separate staging environment that mirrors production, and running a full end-to-end upgrade simulation before upgrading live production clusters.
### Can I upgrade the Operator and Mattermost server at the same time?
Upgrade the Operator first. Validate it’s stable before upgrading the Mattermost server version.
### Do I need to upgrade the database separately?
Mattermost does not upgrade the database schema by default. You must manually apply database schema updates if required by a newer Mattermost version. Review the [Mattermost Server changelog](/product-overview/mattermost-v10-changelog) for any migration steps.
### What if my pods don’t become ready after the upgrade?
Check the Operator logs and pod events using `kubectl` to identify and resolve issues. Look for common issues such as resource constraints, configuration errors, or network connectivity problems.
### What version compatibility should I be aware of between the Mattermost Operator and the application server?
Running an older Operator version may not support newer Mattermost features or upgrade flows. Always check the [Helm chart release notes](https://github.com/mattermost/mattermost-helm/tree/master/charts/mattermost-operator) for version compatibility between the Operator and the Mattermost server.
### Can I automate this upgrade process using GitOps or CI/CD?
Yes. You can manage upgrades using tools like ArgoCD or FluxCD to apply Helm changes from version-controlled `values.yaml` files. Ensure changes are peer-reviewed and validated in staging before promotion.

View File

@@ -0,0 +1,267 @@
---
title: "Upgrade Mattermost Server"
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
<PlanAvailability slug="all-commercial" />
In most cases, you can upgrade Mattermost Server in a few minutes. However, the upgrade can take longer depending on several factors, including the size and complexity of your installation, and the version that you're upgrading from.
If this is your first Mattermost upgrade, we recommend that you read the [comprehensive upgrade guide](#comprehensive-upgrade-guide) below. If you're an experienced system admin familiar with the upgrade process, see the [quick start checklist](#quick-start).
## Quick start
Experienced system admins looking for a quick overview of the Mattermost upgrade process can use the following 4-step checklist below:
1. Ensure you have a complete backup of your system before proceeding, including database and application.
2. **System requirements**: Verify that your server and PostgreSQL version meets [Mattermost requirements](/deployment-guide/software-hardware-requirements).
3. **Preparation steps**
> - Download the latest server version.
> - Extract the new files to a temporary location (`/tmp`)
> - Identify the current Mattermost directory (default: `/opt/mattermost`)
4. **Upgrade process**
> - Stop the Mattermost service: `sudo systemctl stop mattermost`
> - Remove old application files (preserve config, data, logs, plugins).
> - Copy new files to the install directory.
> - Change file ownership: `sudo chown -R mattermost:mattermost mattermost`
> - Set capabilities for low port usage if needed: `sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost`
> - Start the Mattermost service: `sudo systemctl start mattermost`
> - Remove temporary upgrade files.
For detailed instructions and additional considerations, see the complete upgrade guide below.
<div id="before-you-begin">
<Tip>
To learn how to safely upgrade your deployment in Kubernetes for High Availability and Active/Active support, see the [Upgrading Mattermost in Kubernetes and High Availability Environments](/administration-guide/upgrade/upgrade-mattermost-kubernetes-ha) documenation.
</Tip>
</div>
## Comprehensive upgrade guide
### Before you begin
**Read these instructions carefully from start to finish.**
<Important>
**Before upgrading to Mattermost v11.0**: If you're currently using Bleve search (found under **System Console \> Experimental \> Bleve**), ensure that `DisableDatabaseSearch` is set to `false` before upgrading, or search will become non-functional after the upgrade. Bleve search has been removed in v11.0. For enterprise search capabilities, consider migrating to [Elasticsearch](/deployment-guide/scale/elasticsearch-setup) or [OpenSearch](/deployment-guide/scale/opensearch-setup) for [enterprise search](/deployment-guide/scale/enterprise-search) capabilities.
</Important>
Make sure that you understand how to [prepare for your upgrade](/administration-guide/upgrade/prepare-to-upgrade-mattermost), familiarize yourself with all [software and hardware requirements](/deployment-guide/software-hardware-requirements), read the [important upgrade notes](/administration-guide/upgrade/important-upgrade-notes) and that you understand each step of the upgrade process documented below before starting a Mattermost upgrade. If you have questions or concerns, you can ask on the Mattermost forum at [https://forum.mattermost.com/](https://forum.mattermost.com/).
**Gather the following information before starting the upgrade:**
- **Existing install directory - &#123;install-path&#125;**: If you don't know where Mattermost Server is installed, use the `whereis mattermost` command to find standard binary places and $PATH.
- This command won't return anything if `/opt/mattermost/bin` wasn't added to the PATH.
- Alternatively, you can use the `find / -executable -type f -iname mattermost 2> /dev/null` command to find the `mattermost` binary.
- The output should be similar to `/opt/mattermost/bin/mattermost`.
- The install directory is everything before the first occurrence of the string `/mattermost`. In this example, the `&#123;install-path&#125;` is `/opt`.
- If that command doesn't produce any results, it's likely because your version is older; try `whereis platform` instead.
- **Location and size of your local storage directory**: The local storage directory contains all the files that users have attached to their messages.
- If you don't know its location, open the System Console and go to **Environment \> File Storage**, then read the value in **Local Storage Directory**.
- Paths are relative to the `mattermost` directory. For example, if the local storage directory is `./data/` then the absolute path is `&#123;install-path&#125;/mattermost/data`.
- **Database disk space**: If you're upgrading a Mattermost deployment on the same server as your database, we recommend a minimum 2GB of free disk space to allow for extraction, copy, and cleanup, and a minimum of twice the size of your Mattermost installation available for the database.
<Tip>
Consider generating a migration plan using the [mattermost db migrate --save-plan](/administration-guide/manage/command-line-tools#mattermost-db-migrate) CLI command when upgrading to have a detailed record of the changes that will be applied to your database. This can make it easier to revert those changes if you need to downgrade later.
</Tip>
### Upgrade Mattermost Server
1. In a terminal window on the server that hosts Mattermost, change to your home directory. Delete any files and directories that might still exist from a previous download.
``` sh
cd /tmp
```
2. Download [the latest version of Mattermost Server](https://mattermost.com/download/) based on your Mattermost edition.
<Tabs>
<TabItem value="enterprise-edition" label="Enterprise Edition">
In the following command, replace `X.X.X` with the version that you want to download:
``` sh
wget https://releases.mattermost.com/X.X.X/mattermost-X.X.X-linux-amd64.tar.gz
```
</TabItem>
<TabItem value="team-edition" label="Team Edition">
In the following command, replace `X.X.X` with the version that you want to download:
``` sh
wget https://releases.mattermost.com/X.X.X/mattermost-team-X.X.X-linux-amd64.tar.gz
```
</TabItem>
</Tabs>
3. Confirm no other Mattermost zip folders exist in your `/tmp` directory. If another version's zip file does exist, delete or rename the file.
``` sh
ls -- mattermost*.gz
```
If anything except the new release is returned above, rename this file or delete it completely.
4. Extract the Mattermost Server files.
``` sh
tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,'
```
The `transform` option adds a suffix to the topmost extracted directory so it does not conflict with the usual install directory.
5. Stop your Mattermost server.
``` sh
sudo systemctl stop mattermost
```
6. Back up your data and application. Make sure you've properly backed up your database before continuing with the upgrade. In case of an unexpected failure, you should be in a position to load a previous database snapshot.
1. Back up your database using your organization’s standard procedures for backing up the database.
2. Back up your application by copying into an archive folder (e.g. `mattermost-back-YYYY-MM-DD-HH-mm`).
``` sh
cd {install-path}
sudo cp -ra mattermost/ mattermost-back-$(date +'%F-%H-%M')/
```
7. Remove all files **except** data and custom directories from within the current `mattermost` directory. We strongly recommend reading the important note below before executing the following command.
``` sh
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r
```
<div class="important">
<div class="title">
Important
</div>
By default, the following subdirectories will be preserved on upgrade:`config`, `logs`, `plugins`, `client/plugins`, and `data`. Custom directories and ANY other directories that you've added to Mattermost are NOT preserved by default. Generally, these are TLS keys or other custom information, but can also include a different directories configured for local storage other than `data`, as well as custom directories used to store attachments.
Before continuing with your upgrade, we strongly recommend that you:
1. Run `ls` on your Mattermost install directory to identify all default folders that exist prior to upgrading.
A default Mattermost installation has the following files and directories:
``` sh
$ ls /opt/mattermost
ENTERPRISE-EDITION-LICENSE.txt README.md client data i18n manifest.txt prepackaged_plugins
NOTICE.txt bin config fonts logs plugins templates
```
2. Perform a dry run of deleting the contents of the `mattermost` folder and preserving only the specified directories and their contents by running the following command. It's the same command listed above, but it omits `sudo xargs rm -r`:
``` sh
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort
```
3. If you store TLSCert/TLSKey files or other information within your `/opt/mattermost` folder, you need to append `-o -path mattermost/yourFolderHere` to the command above to avoid having to manually copy the TLSCert/TLSKey files from the backup into the new install.
``` sh
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path mattermost/yourFolderHere \) -prune \) | sort
```
4. If you're using [Bleve search](/administration-guide/configure/bleve-search), and the directory exists *within* the `mattermost` directory, the index directory path won't be preserved using the command above.
- You can either move the bleve index directory out from the `mattermost` directory before upgrading or, following an upgrade, you can copy the contents of the bleve index directory from the `backup` directory.
- You can then store that directory or re-index as preferred.
- The bleve indexes can be migrated without reindexing between Mattermost versions. See our [Configuration Settings](/administration-guide/configure/deprecated-configuration-settings#bleve-settings) documentation for details on configuring the bleve index directory.
Once you've completed all of the steps above (where applicable), you're ready to execute the full command that includes `xargs rm -r` to delete the files. Note that the following example includes `-o -path mattermost/yourFolderHere`:
``` sh
sudo find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data -o -path mattermost/yourFolderHere \) -prune \) | sort | sudo xargs rm -r
```
</div>
8. Copy the new files to your install directory.
``` sh
sudo cp -an /tmp/mattermost-upgrade/. mattermost/
```
<div class="note">
<div class="title">
Note
</div>
The `n` (no-clobber) flag and trailing `.` on source are very important. The `n` (no-clobber) flag preserves existing configurations and logs in your installation path. The trailing `.` on source ensures all installation files are copied.
</div>
9. Change ownership of the new files after copying them. For example:
``` sh
sudo chown -R mattermost:mattermost mattermost
```
<div class="note">
<div class="title">
Note
</div>
- If you didn't use `mattermost` as the owner and group of the install directory, run `sudo chown -hR &#123;owner&#125;:&#123;group&#125; &#123;install-path&#125;/mattermost`.
- If you're uncertain what owner or group was defined, use the `ls -l &#123;install-path&#125;/mattermost/bin/mattermost` command to obtain them.
</div>
10. If you want to use port 80 or 443 to serve your server, and/or if you have TLS set up on your Mattermost server, you **must** activate the `CAP_NET_BIND_SERVICE` capability to allow the new Mattermost binary to bind to ports lower than 1024. For example:
``` sh
sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
```
11. Start your Mattermost server.
``` sh
sudo systemctl start mattermost
```
12. Remove the temporary files.
``` sh
sudo rm -r /tmp/mattermost-upgrade/
sudo rm -i /tmp/mattermost*.gz
```
13. If you're using a [high availability](/deployment-guide/server/high-availability-cluster-based-deployment) deployment, you need to apply the steps above on every node in your cluster. Once complete, the **Config File MD5** columns in the high availability section of the System Console should be green. If they're yellow, please ensure that all nodes have the same server version and the same configuration.
If they continue to display as yellow, trigger a configuration propagation across the cluster by opening the System Console, changing a setting, and reverting it. This will enable the **Save** button for that page. Then, select **Save**. This will not change any configuration, but sends the existing configuration to all nodes in the cluster.
After the server is upgraded, users might need to refresh their browsers to experience any new features.
## Upgrade Team Edition to Enterprise Edition
To upgrade from the Team Edition to the Enterprise Edition, follow the normal upgrade instructions provided above, making sure that you download the Enterprise Edition of Mattermost Server in Step 2.
## Upload a license key
When Enterprise Edition is running, open **System Console \> About \> Editions and License** and upload your license key.

View File

@@ -0,0 +1,148 @@
---
title: "Upgrade PostgreSQL"
---
<PlanAvailability slug="all-commercial" />
Mattermost follows the [PostgreSQL community versioning policy](https://www.postgresql.org/support/versioning/), which provides 5 years of support per major version. When a PostgreSQL version reaches end-of-life, Mattermost drops support for it in a subsequent release. See the [software and hardware requirements](/deployment-guide/software-hardware-requirements) documentation for the currently supported PostgreSQL versions.
When upgrading PostgreSQL, refer to the [official PostgreSQL upgrade documentation](https://www.postgresql.org/docs/current/upgrading.html) for comprehensive guidance. This page covers the steps specific to Mattermost deployments.
## Before you begin
1. **Back up your database.** Always take a full database backup before upgrading. See the [backup and disaster recovery](/deployment-guide/backup-disaster-recovery) documentation.
2. **Check supported versions.** Confirm the target PostgreSQL version is supported by your Mattermost release. See [software and hardware requirements](/deployment-guide/software-hardware-requirements).
3. **Stop Mattermost.** Shut down the Mattermost server before starting the database upgrade to prevent data writes during the process.
## Upgrade a bare-metal PostgreSQL server
There are two main approaches for upgrading PostgreSQL on a bare-metal or virtual machine:
- **pg_upgrade** (in-place): Faster; upgrades the data directory without a full dump/restore cycle. Recommended for large databases.
- **pg_dump / pg_restore** (logical): Simpler and safer for cross-machine migrations or when in-place upgrade is not possible.
### Using pg_upgrade
`pg_upgrade` allows you to upgrade between major PostgreSQL versions without a full export. Both the old and new PostgreSQL versions must be installed side-by-side.
1. Install the new PostgreSQL version alongside the existing one using your package manager.
2. Stop the existing PostgreSQL service:
``` sh
sudo systemctl stop postgresql
```
3. Run `pg_upgrade` as the `postgres` user, specifying the binary and data directories for both versions. Replace `<old_version>` and `<new_version>` with the appropriate version numbers (e.g. `15` and `16`):
``` sh
sudo -u postgres /usr/lib/postgresql/<new_version>/bin/pg_upgrade \
--old-datadir /var/lib/postgresql/<old_version>/main \
--new-datadir /var/lib/postgresql/<new_version>/main \
--old-bindir /usr/lib/postgresql/<old_version>/bin \
--new-bindir /usr/lib/postgresql/<new_version>/bin
```
4. Update your system to start the new PostgreSQL version by default, then start the service:
``` sh
sudo systemctl start postgresql
```
For full `pg_upgrade` reference, see the [official pg_upgrade documentation](https://www.postgresql.org/docs/current/pgupgrade.html).
### Using pg_dump and pg_restore
This approach exports the entire database, installs the new PostgreSQL version, and restores the data. It is simpler but requires downtime proportional to database size.
1. Export the Mattermost database (replace `mattermost` with your database name and `mmuser` with your database user):
``` sh
pg_dump -U mmuser -Fc mattermost > mattermost_backup.dump
```
2. Install the new PostgreSQL version and create the database user and database:
``` sh
sudo -u postgres psql -c "CREATE USER mmuser WITH PASSWORD 'your_password';"
sudo -u postgres psql -c "CREATE DATABASE mattermost OWNER mmuser;"
```
3. Restore the database into the new PostgreSQL instance:
``` sh
pg_restore -U mmuser -d mattermost mattermost_backup.dump
```
## Upgrade PostgreSQL in Docker
<Note>
The steps below are written for the official [Mattermost Docker deployment](https://github.com/mattermost/docker). If you are using a custom Docker setup, adapt the container and volume names accordingly.
</Note>
When running PostgreSQL in Docker, `pg_dump`/`pg_restore` is the recommended upgrade approach. In-place `pg_upgrade` is complex in containers because it requires both old and new binaries in the same container.
1. Stop the Mattermost container:
``` sh
docker stop mattermost
```
2. Dump the database from the running PostgreSQL container (replace `mattermost`, `mmuser`, and `db` with your database name, user, and container name):
``` sh
docker exec postgres pg_dump -U mmuser -Fc mattermost > mattermost_backup.dump
```
3. Stop the existing PostgreSQL container:
``` sh
docker stop postgres
```
4. Update `POSTGRES_IMAGE_TAG` in your `.env` file to the new version. For example:
``` text
POSTGRES_IMAGE_TAG=16-alpine
```
5. Recreate the PostgreSQL container so the new image tag from `.env` is applied:
``` sh
docker compose up -d --force-recreate postgres
```
<div class="note">
<div class="title">
Note
</div>
If your volume already contains data from the old major version, PostgreSQL will refuse to start. In that case, create a new named volume for the new container, then restore from the dump in the next step.
</div>
6. Recreate the database user and database in the new container, then restore:
``` sh
docker exec -i postgres psql -U postgres -c "CREATE USER mmuser WITH PASSWORD 'your_password';"
docker exec -i postgres psql -U postgres -c "CREATE DATABASE mattermost OWNER mmuser;"
docker exec -i postgres pg_restore -U mmuser -d mattermost < mattermost_backup.dump
```
## After the upgrade
After upgrading PostgreSQL, run `ANALYZE VERBOSE` on the Mattermost database. This re-populates the `pg_statistic` table used by PostgreSQL to generate optimal query plans. Skipping this step can result in degraded database performance.
``` sh
sudo -u postgres psql -d mattermost -c "ANALYZE VERBOSE;"
```
Once complete, restart Mattermost:
``` sh
sudo systemctl start mattermost
```

View File

@@ -0,0 +1,43 @@
---
title: "Welcome email to end users"
---
<PlanAvailability slug="all-commercial" />
To make it easy for your end users to start using Mattermost right away, we created a sample email template that you can use.
Remember to replace all the items below in bold with your information.
## Email template
From: **\[company name\]** IT Team
To: End users
Subject: New Collaboration Platform - Mattermost
Hi all,
As some of you already know, we are moving to Mattermost as our collaboration platform. Mattermost is collaboration software you can use to talk, share files, and collaborate on projects or initiatives. Mattermost also integrates with many of the apps that you use every day, like **\[add apps\]**.
We are moving to Mattermost because it will host all our collaboration in one place, is instantly searchable and available from all your devices.
Some of the major benefits of using Mattermost are:
- Direct 1:1 and group messaging
- Channels for topic-based, group-based, or meeting-based chat
- Streamlined collaboration on projects
- Reduced email clutter
- Searching across messages and channels
- Sharing files
To get started:
1. Open a browser on your computer, go to **\[Mattermost URL\]** and log in with your **\[LDAP/AD, SAML, Google, etc\]** credentials. Remember to bookmark the URL so you can use it to log in next time.
2. [Download](https://mattermost.com/apps) the Mattermost apps for desktop and mobile. See the [Use Mattermost](/end-user-guide/end-user-guide-index) end user documentation for details on how to get up and running quickly.
3. Start messaging!
Questions? If you have any questions, feel free to post in the **\[~Mattermost channel\]** or email us at **\[IT email\]**.
Happy collaborating!
**\[company name\]** IT Team