Self-Hosted

Mattermost: Slack without limits

Team messaging on your own server.
No per-user fees. No message limits.

Mattermost highlights

A Slack alternative where you keep all the data.

Channels and threads

Organize conversations by topic in public and private channels. Threaded replies keep discussions focused.

File sharing

Share files, images, and code snippets directly in channels. All uploads are stored on your server.

Integrations and webhooks

Connect to GitLab, GitHub, Jira, Jenkins, and more. Incoming and outgoing webhooks for custom workflows.

Playbooks

Define repeatable workflows for incident response, onboarding, or releases. Track progress with checklists and status updates.

Voice and video calls

Built-in voice calls and screen sharing through the Calls plugin. No external service needed.

Mobile apps

Native iOS and Android apps with push notifications. Connect to your self-hosted server on the go.

Mattermost vs Slack

Slack without the message history paywall.

Feature Mattermost + VPS Slack
Data ownership Your server, your data Slack's US data centers
Message history Unlimited, fully searchable 90 days on free plan
Per-user pricing Flat VPS price, unlimited users $7.25-$12.50/user/mo
GDPR compliance EU hosting, full control US Cloud Act applies
Customization Open source, full plugin system Limited to Slack's feature set

Install Mattermost in 5 minutes

Docker Compose on your VPS.

1

Connect and install Docker

ssh root@your-server-ip
apt update && apt install -y docker.io docker-compose-v2
2

Create docker-compose.yml

version: "3"
services:
mattermost:
image: mattermost/mattermost-team-edition:latest
restart: unless-stopped
ports:
- "8065:8065"
environment:
MM_SQLSETTINGS_DRIVERNAME: postgres
MM_SQLSETTINGS_DATASOURCE: postgres://mattermost:secret@postgres:5432/mattermost?sslmode=disable
volumes:
- mattermost-config:/mattermost/config
- mattermost-data:/mattermost/data
- mattermost-logs:/mattermost/logs
- mattermost-plugins:/mattermost/plugins
depends_on:
- postgres

postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: mattermost
POSTGRES_PASSWORD: secret
POSTGRES_DB: mattermost
volumes:
- postgres-data:/var/lib/postgresql/data

volumes:
mattermost-config:
mattermost-data:
mattermost-logs:
mattermost-plugins:
postgres-data:
3

Start the containers

docker compose up -d

Access your Mattermost

Visit http://your-server-ip:8065 and create your admin account.

Recommended VPS specs

Small team

Up to 50 users

  • 2 GB RAM
  • Up to 50 users
Recommended

Medium team

50-200 users

  • 4 GB RAM
  • 50-200 users

Enterprise

200+ users

  • 8 GB+ RAM
  • 200+ users

See all VPS Linux plans

Mattermost FAQ

Still have questions? Contact our support team

Move your team chat off Slack

Team chat on your server. No message limits.

Instant activation No long-term commitment Support in your language