Self-hosting Mattermost cost
Team Messaging
Mattermost is an open-source, self-hostable team messaging platform — an alternative to Slack and Microsoft Teams. It runs as a Go binary backed by PostgreSQL, with optional Elasticsearch for search, so its cost profile is driven mostly by file attachments and concurrent websocket connections.
The tables below show the recommended minimum specification for Mattermost at each user scale, and the cheapest matching plan on each of our tracked providers. Prices are approximate monthly list prices in USD.
Up to 100 users
Recommended minimum: 1 vCPU · 2 GB RAM
For up to 100 users, a single node with co-located PostgreSQL is sufficient; enable gzip, asset caching at Nginx, and skip Elasticsearch. Bandwidth analysis: chat text is tiny, file attachments dominate egress. DigitalOcean pools free transfer (overage ~$0.01/GB), Hetzner includes ~20 TB/month (~€1/TB overage), Linode pools per plan (~$0.005/GB).
Up to 500 users
Recommended minimum: 2 vCPU · 4 GB RAM
At 500 users, move PostgreSQL to its own host, tune shared_buffers near 25 percent of RAM, and CDN the attachments. Bandwidth analysis: serve files through a CDN so attachment egress is billed at CDN rates; Hetzner's included traffic is cheapest for media-heavy teams.
Up to 1,000 users
Recommended minimum: 4 vCPU · 8 GB RAM
For 1000 users, split app and database tiers, add Elasticsearch, and use sticky sessions for websockets. Bandwidth analysis: offload attachments to object storage plus CDN to stay inside pooled transfer allowances on DigitalOcean and Linode.
Up to 5,000 users (Enterprise)
Recommended minimum: 8 vCPU · 32 GB RAM
Enterprise: two-plus app nodes behind a load balancer, PostgreSQL primary with hot standby and PgBouncer, managed Redis, and a dedicated Elasticsearch cluster. Bandwidth analysis: push attachments to S3-compatible storage behind a CDN and budget for primary-standby replication traffic.
Prices are approximate list prices and may change at any time; verify on the provider's official site before purchasing. Specs are conservative single-node starting points. Deploy links may contain referral codes. Try the interactive calculator.