← all SaaS

Self-host Discord

Community / voice chat · Category: team chat & community

Discord is the default for gaming + open-source communities. Self-hostable replacements cover the channels + voice + roles model; what they don't replicate is Discord's network effects and bot ecosystem.

Discord pricing anchor: Free; Nitro at $9.99/user/mo for power-user perks.

Revolt revoltchat/self-hosted alive

GitHub
★ 2.43k · last commit 3w ago · 22 open issues
License
AGPL-3.0
Setup time
20min docker-compose
Monthly cost
$10 VPS for a small server — Mongo + several Rust services.
Migration sketch. No Discord importer (different data model). Communities migrate by announcing the move + inviting users; Revolt mirrors Discord's UX closely so onboarding is fast. Bots have to be rewritten against Revolt's API.
Good fit forOpen-source projects and communities that want a Discord-shaped tool with no Trust & Safety surprises.
Weak atVoice quality is good but the bot ecosystem is tiny.

Mattermost mattermost/mattermost alive

GitHub
★ 36.6k · last commit today · 857 open issues
License
AGPL-3.0 (Team Edition)
Setup time
15min docker-compose
Monthly cost
$5 VPS for ~50 daily-active users.
Migration sketch. Use bulkimport JSONL: write a script that reads Discord channels via the Discord API and converts to Mattermost's bulk format. Voice does not transfer (Mattermost calls is a different model).
Good fit forEngineering teams who want Discord-shaped chat but with Slack-style polish.
Weak atVoice/video huddles are weaker than Discord's voice channels.

Matrix (Synapse) element-hq/synapse alive

GitHub
★ 4.16k · last commit 1d ago · 1996 open issues
License
AGPL-3.0
Setup time
30-60min (Synapse + Element web client + reverse proxy)
Monthly cost
$10 VPS for a small homeserver.
Migration sketch. Use the `matrix-appservice-discord` bridge to mirror a Discord server into a Matrix room while you migrate; users can join either side. Eventually announce Matrix is the source of truth.
Good fit forFederated communities that want decentralization + e2e encryption.
Weak atSetup is the most involved option here; voice via Element Call is newer.

In a terminal? npx os-alt discord prints this table — how the CLI works →