$osscostcalc.comSelf-hosting cost intelligence

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).

ProviderPlanSpecsMonthlyDeploy
DigitalOceanPremium AMD · 1 vCPU1 vCPU / 2 GB$14Deploy
HetznerBestCPX112 vCPU / 2 GB$5.18Deploy
LinodeShared 2GB1 vCPU / 2 GB$12Deploy

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.

ProviderPlanSpecsMonthlyDeploy
DigitalOceanPremium AMD · 2 vCPU2 vCPU / 4 GB$28Deploy
HetznerBestCPX213 vCPU / 4 GB$8.98Deploy
LinodeShared 4GB2 vCPU / 4 GB$24Deploy

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.

ProviderPlanSpecsMonthlyDeploy
DigitalOceanPremium AMD · 4 vCPU4 vCPU / 8 GB$56Deploy
HetznerBestCPX314 vCPU / 8 GB$16.90Deploy
LinodeShared 8GB4 vCPU / 8 GB$48Deploy

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.

ProviderPlanSpecsMonthlyDeploy
DigitalOceanCPU-Optimized · 16 vCPU16 vCPU / 32 GB$294Deploy
HetznerBestCPX5116 vCPU / 32 GB$65.50Deploy
LinodeDedicated 32GB16 vCPU / 32 GB$288Deploy

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.