Layer 5 · self-hosting reality check
What it actually takes to self-host Mattermost
The docs say 2 GB. In practice you want 4 GB for a team of 50 with PostgreSQL on the same box. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Slack alternatives, where Mattermost is one of the picks.
Wondering whether you need to at all? Is Slack free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | 2 GB |
|---|---|
| RAM — what it really needs | 4 GB for a team of 50 with PostgreSQL on the same box |
| CPU | 2 vCPU |
| Disk | 20 GB plus file uploads, which dominate over time |
| Monthly cost | $25–40/mo for a 50-person team |
| Setup time | 2 hours |
| How you install it | docker compose with PostgreSQL, or the official Omnibus package |
| Ongoing maintenance | Moderate. Upgrades are well behaved; the database needs a real backup. |
| Where it stops scaling | Thousands of users on a properly sized deployment; the database is the first thing to feel it. |
The thing that catches people out
The free Team Edition keeps your message history forever, which is the entire reason to leave Slack — but it has no SAML, no LDAP group sync, no compliance export and no read-only archive channels. Teams migrate off Slack for the history, get six months in, and hit the SSO wall when the company adds an identity provider. Check the edition matrix against your roadmap, not your present.
When not to self-host Mattermost
You need enterprise SSO or compliance exports. Those are paid tiers, and finding out after the migration is expensive.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
- Self-hosting Zulip4 GB for a small organisation
Common questions
- How much RAM does Mattermost actually need?
- 4 GB for a team of 50 with PostgreSQL on the same box in practice. The documented minimum is 2 GB, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU alongside it.
- What does self-hosting Mattermost cost per month?
- $25–40/mo for a 50-person team This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for moderate. Upgrades are well behaved; the database needs a real backup.
- How long does it take to set up Mattermost?
- 2 hours, via docker compose with PostgreSQL, or the official Omnibus package.
- When should I NOT self-host Mattermost?
- You need enterprise SSO or compliance exports. Those are paid tiers, and finding out after the migration is expensive.
- What is the most common mistake when self-hosting Mattermost?
- The free Team Edition keeps your message history forever, which is the entire reason to leave Slack — but it has no SAML, no LDAP group sync, no compliance export and no read-only archive channels. Teams migrate off Slack for the history, get six months in, and hit the SSO wall when the company adds an identity provider. Check the edition matrix against your roadmap, not your present.