Skip to main content

Deploy Mattermost on Linux

Mattermost Server runs on any 64-bit Linux system. For production, run Mattermost and the PostgreSQL database on separate hosts. A single-host install is suitable for development and testing.

Choose an install method

Before you install

The Ubuntu/Debian, Red Hat (RHEL), and manual (tarball) methods all require you to bring your own host and database:

  • A 64-bit Linux host with at least 1 vCPU and 2 GB RAM (supports up to ~1,000 users)
  • PostgreSQL 14+ — either local to the host, on a separate server, or a managed service. See Set up the database, or PostgreSQL Migration if you're moving from MySQL.
  • Inbound ports 80 and 443 (HTTPS) and 8065 (System Console). See Network ports for the full list, and Prepare for the pre-install checklist.
  • Outbound port 10025 if you'll send notification email through a relay.

The Azure Native VM method provisions its own compute, managed PostgreSQL, and storage from the Azure Marketplace — see its prerequisites instead.

After you install

Once Mattermost is running, complete these steps before exposing it to users:

:::tip Air-gapped environments If you're deploying into a network-isolated enclave, see Air-Gapped Operations instead of the connected install paths above. It covers package mirroring and the configuration changes needed on top of the standard install. :::

Troubleshooting

See Deployment troubleshooting for common install failures.