Server deployment planning#

This section provides comprehensive guidance on deploying and managing your Mattermost server. Mattermost is a flexible, high-performance messaging platform built with Go and React, designed to provide secure team collaboration at scale.

Core technology stack#

Mattermost’s architecture is built on modern, reliable technologies:

  • Backend: Written in Go, providing high performance and concurrent processing

  • Frontend: React-based web application and mobile apps

  • Database: PostgreSQL for primary data storage

  • Search: Elasticsearch (optional) for advanced search capabilities

  • File Storage: Local filesystem or cloud storage (S3, MinIO) for media and attachments

  • Caching: Built-in support for Redis for enhanced performance

Deployment options#

Mattermost offers several deployment options to suit your organization’s needs:

  1. Kubernetes (Recommended)

    Our recommended approach for production deployments offers:

    • Scalability and high availability

    • Automated updates and rollbacks

    • Infrastructure as code

    • Built-in monitoring and logging

    • Easy integration with existing DevOps workflows

  2. Container-Based Deployment

    Docker containers are suitable for smaller deployments that offer:

    • Simplified installation and updates

    • Consistent environments

    • Easy dependency management

  3. Traditional Linux Installation

    A direct installation on Linux servers offers:

    • Simple, straightforward setup

    • Full control over the installation

    • For situations where containers aren’t preferred

Prerequisites#

Before deploying Mattermost, ensure you have reviewed the software and hardware requirements, and have:

  • A supported Linux distribution

  • Database server (PostgreSQL 13+)

  • Reverse proxy (NGINX recommended)

  • SSL/TLS certificates for secure communication

  • Adequate storage for files and database

  • Network access and firewall configurations

  • System requirements met based on expected user load

Plan your deployment#

When planning your Mattermost deployment, consider the following when choosing the deployment method that best aligns with your organization’s requirements, technical expertise, and infrastructure capabilities:

  • Expected user count and growth

  • High availability requirements

  • Backup and disaster recovery needs

  • Integration with existing systems

  • Security and compliance requirements

  • Monitoring and maintenance strategy

The following server, desktop, and mobile application sections provide detailed instructions for each deployment approach.

Minimum database version policy#

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.

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:

Mattermost Version

Release Date

Minimum PostgreSQL Version

v9.11 ESR

2024-8-15

11.x

v10.5 ESR

2025-2-15

11.x

v10.6

2025-3-15

13.x

v10.11 ESR

2025-8-15

13.x

v11.5 ESR *

2026-2-15

14.x (EOL 2026-11-12)

* Forcasted release version and date.

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.