Prepare to deploy Mattermost Server
Mattermost is an open core platform.
This means we develop both an open source, self-hosted edition of our software provided free to our community, as well as a commercial edition that extends and enhances our open source software with paid, subscription-based offerings. Our open source edition and our subscription-based plans are available in self-hosted and cloud deployment modes.
On this page, you’ll learn how to get started with a Mattermost self-hosted deployment.
Hardware considerations
See the hardware requirements documentation for details on minimum requirements for up to 2000 users, as well as system, scale, and storage requirements for Enterprise deployments.
Deploy Mattermost
Getting started with Mattermost is easy. You can deploy a self-hosted instance of Mattermost using Kubernetes, from a compressed tarball, using a Ubuntu option called Omnibus, or using Docker.
Install a license key
Mattermost self-hosted deployments require a license to be applied to access features in the Professional or Enterprise plans. Mattermost offers a secure self-service Customer Portal where you can easily purchase and manage your Mattermost self-hosted subscriptions.
When you purchase a subscription or start a Mattermost Enterprise trial, a license is generated, and you’ll receive that license key by email. You can apply that license key using the System Console, using mmctl, or using the CLI.
Important
You must be a Mattermost System Admin to apply the license key to your Mattermost instance. If you’re not a System Admin, contact your organization’s Mattermost System Admin for assistance.
- Go go System Console > About > Edition and License. 
- Upload your license key. 
Once the key is uploaded and installed, the details of your license are displayed.
Use the mmctl license upload command to upload the license key, or to replace an existing license key with a new one.
mmctl license upload [license] [flags]
When complete, restart the Mattermost server. If you’re running in a High Availability environment, the license key must be updated to every node.
Note
The legacy CLI is available for Mattermost v5.39 and earlier.
Use the mattermost license upload command to to upload a new license key, or to replace an existing license key with a new one.
mattermost license upload {license}
When complete, restart the Mattermost server. If you’re running in a High Availability environment, the new license key must be updated to every node.
Verify license keys
Once your license key is uploaded to your Mattermost server, it’s stored in your SQL database at mattermost.Licenses. Verify what keys are on your server by running the following command:
select * from mattermost.Licenses;``
Tip
Open the mattermost.log file which is typically located in the mattermost/logs/ directory. 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:
[2017/05/19 16:51:40 UTC] [INFO] License key valid unlocking enterprise features.
What’s next?
Now that you’ve considered your hardware needs, deployed a Mattermost self-hosted workspace, and installed a license key, you’ll want to review important notes for Mattermost System Admins before learning how to review your workspace configuration for production use.

