docs/main/deployment-guide/software-hardware-requirements.mdx
This guide outlines minimum software and hardware requirements for deploying Mattermost. Requirements may vary based on utilization and observing performance of pilot projects is recommended prior to scale out.
Please see the Application architecture documentation for a summary of software systems and components whose requirements are described in this document.
Though not officially supported, the Linux desktop app also runs on RHEL/CentOS 7+.
From Mattermost Desktop v6.1, Flatpak packages are available for Linux (currently in beta). The Flatpak version requires:
Flatpak packages are available for x86_64 (Intel/AMD) and aarch64 (ARM) architectures. The Flatpak version includes Wayland display server support enabled by default.
<Note><code>*</code> Internet Explorer (IE11) is no longer supported. We recommend using the Mattermost desktop app or another supported browser. See this forum post to learn more.
Starting with Mattermost Server v12.0 (October 2026), Red Hat Enterprise Linux (RHEL) 7 and RHEL 8 will no longer be supported deployment targets. Mattermost v11.11 (September 2026) will be the last release to support RHEL 7 and RHEL 8. RHEL 9, Ubuntu 22.04/24.04 LTS, Debian Bookworm, and container-based deployments will remain fully supported. If you're running RHEL 7 or RHEL 8, plan to upgrade to RHEL 9 or migrate to another supported platform before the v12.0 release. See the forum post for full details and migration options.
While community support exists for Fedora, FreeBSD, and Arch Linux, Mattermost does not currently include production support for these platforms.
Amazon Aurora equivalents of PostgreSQL is also supported. Our Migration Guide outlines the steps, tools and support available for migrating from MySQL to PostgreSQL.
ft_min_word_len and innodb_ft_min_token_size to 2 and restart MySQL. See CJK discussion for details.To make planning easier and ensure your Mattermost deployment remains fast and secure, we are introducing a policy for updating the minimum supported version of PostgreSQL. The oldest supported PostgreSQL version Mattermost supports will match the oldest version supported by the PostgreSQL community. This ensures you benefit from the latest features and security updates.
This policy change takes effect from Mattermost v10.6, where the minimum PostgreSQL version required will be PostgreSQL 13. This aligns with the PostgreSQL community's support policy, which provides 5 years of support for each major version.
<Note>Mattermost v10.6 is not an Extended Support Release (ESR). Going forward, this database version support policy will only apply to ESR releases.
</Note>When a PostgreSQL version reaches its end of life (EOL), Mattermost will require a newer version starting with the next scheduled ESR release. This means the following future PostgreSQL minimum version increases as follows:
<table style={{width: '98%'}}> <colgroup> <col style={{width: '50%'}} /> <col style={{width: '15%'}} /> <col style={{width: '27%'}} /> <col style={{width: '3%'}} /> </colgroup> <tbody> <tr> <td colspan="4"><blockquote> <p><strong>Mattermost Version</strong> | <strong>Release Date</strong> | <strong>Minimum PostgreSQL Version</strong> |</p> </blockquote> <dl> <dt>============================================================+==================+================================+</dt> <dd> <p><a href="mm-ref:release-v9-11-extended-support-release">v9.11 ESR</a> | 2024-8-15 | 11.x</p> </dd> </dl></td> </tr> <tr> <td colspan="4"><a href="mm-ref:release-v10.5-extended-support-release">v10.5 ESR</a> | 2025-2-15 | 11.x</td> </tr> <tr> <td colspan="4"><a href="mm-ref:release-v10.6-feature-release">v10.6</a> | 2025-3-15 | 13.x</td> </tr> <tr> <td colspan="4"><a href="mm-ref:release-v10.11-extended-support-release">v10.11 ESR</a>| 2025-8-15 | 13.x</td> </tr> <tr> <td><a href="mm-ref:release-v11.7-extended-support-release">v11.7 ESR</a></td> <td>2026-5-15</td> <td>14.x (EOL 2026-11-12)</td> <td></td> </tr> </tbody> </table>Customers will have 9 months to plan, test, and upgrade their PostgreSQL version before the new requirement takes effect. This policy aims to provide clarity and transparency so you can align database upgrades with the Mattermost release schedule. Contact a Mattermost Expert. to discuss your options.
Common limitations:
Search limitations on PostgreSQL:
The length of a tsvector (lexemes + positions) must be less than 1 megabyte, which means that, based on the file content, even files with content less than 1 MB won't be searchable if they hit the tsvector limit of 1 MB.MySQL database support is being deprecated starting with Mattermost v11. See the PostgreSQL migration documentation for guidance on migrating from MySQL to PostgreSQL.
ft_min_word_len and innodb_ft_min_token_size to 2 and restart MySQL. See CJK discussion for details.MySQL 8.0.22 contains an issue with JSON column types changing string values to integers which is preventing Mattermost from working properly. Users are advised to avoid this database version.
In MySQL 8.0.4, the default authentication plugin was changed from mysql_native_password to caching_sha2_password. Therefore, you will need to enable mysql_native_password by adding the following entry in your MySQL configuration file:
text[mysqld] default-authentication-plugin=mysql_native_password
In MySQL 8, the default collation changed to utf8mb4_0900_ai_ci (https://dev.mysql.com/doc/mysqld-version-reference/en/optvar-changes-8-0.html). Therefore, if you update your MySQL installation to version 8, you'll need to convert your database tables to use the new default collation:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
If this change isn't made, tables in the database may end up having different collations which will cause errors when executing queries.
In MySQL versions 8.0.0 - 8.0.11 ADMIN is a reserved keyword, which is why our requirement for MySQL is version 8.0.12.
MySQL 8.0.22 contains an issue with JSON column types changing string values to integers which is preventing Mattermost from working properly. Users are advised to avoid this database version.
Usage of CPU, RAM, and storage space can vary significantly based on user behavior. These hardware recommendations are based on traditional deployments and may grow or shrink depending on how active your users are.
Moreover, memory requirements can be driven by peak file sharing activity. Recommendation is based on default 50 MB maximum file size, which can be adjusted from the System Console. Changing this number may change memory requirements.
For deployments larger than 2,000 users, it is recommended to use the Mattermost open source load testing framework to simulate usage of your system at full scale: https://github.com/mattermost/mattermost-load-test-ng.
Mattermost supports any 64-bit x86 processor architecture.
Most small to medium Mattermost team deployments can be supported on a single server with the following specifications based on registered users:
For Enterprise Edition deployments with a multi-server setup, see our scaling guide.
It is highly recommended that pilots are run before enterprise-wide deployments in order to estimate full scale usage based on your specific organizational needs. You can use the Mattermost open source load testing framework to simulate usage of your system: https://github.com/mattermost/mattermost-load-test-ng.
Mattermost's performance monitoring tools can be used for detailed performance measurements and to inspect the running system to ensure sizing and installation is correct.
For Enterprise Edition deployments with a multi-server setup, we highly recommend the following systems to support your Mattermost deployment: