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.
Connect and install Docker
ssh root@your-server-ip apt update && apt install -y docker.io docker-compose-v2 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: 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
Medium team
50-200 users
- 4 GB RAM
- 50-200 users
Enterprise
200+ users
- 8 GB+ RAM
- 200+ users
Mattermost FAQ
Still have questions? Contact our support team
Move your team chat off Slack
Team chat on your server. No message limits.