Introduction
Rocket.Chat has been the go-to open-source Slack alternative since 2015. Built on Meteor (Node.js), it offers channels, DMs, threads, reactions, file sharing, voice/video calls (via Jitsi), and a marketplace of apps/integrations. Self-hosted or managed cloud — same software.
With over 45,000 GitHub stars, Rocket.Chat is deployed inside large companies (Credit Suisse, Deutsche Bahn, US Navy), open-source communities, and governments that need data sovereignty. It integrates with LDAP/SSO/SAML, exports to enterprise compliance tooling, and supports omnichannel customer support (WhatsApp, Email, SMS gateway).
What Rocket.Chat Does
Rocket.Chat provides team chat (channels, private groups, DMs), voice + video calls (Jitsi-based), file sharing, threads, emoji + reactions, custom apps (via its SDK), and an "omnichannel" module that routes WhatsApp/Facebook/Twitter/SMS into the same inbox as internal chat. An Apps SDK + marketplace extend the functionality.
Architecture Overview
[Rocket.Chat Server (Node.js/Meteor)]
|
+-----+-----+-----+-----+
| | | | |
Chat Apps Omni Webhooks LiveChat
Engine channel widget
|
[MongoDB] [Redis (for HA clustering)]
|
[Object Storage]
FileSystem / S3 / GridFS for file uploads
|
[Voice/Video]
Jitsi Meet (default, built-in)
BigBlueButton / other connectors (optional)
|
[Integrations]
LDAP, SAML, OAuth, Zapier,
GitHub, GitLab, Jira, Microsoft 365Self-Hosting & Configuration
# docker-compose.yml (excerpt)
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:latest
environment:
- PORT=3000
- ROOT_URL=https://chat.example.com
- MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0
- MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0
- ACCOUNTS_OAUTH_GOOGLE=true
- ACCOUNTS_OAUTH_GITHUB=true
volumes:
- ./uploads:/app/uploads
depends_on:
- mongo
mongo:
image: mongo:6.0
command: ["--replSet", "rs0", "--oplogSize", "128"]
mongo-init-replica:
image: mongo:6.0
depends_on: [mongo]
entrypoint: [ "bash", "-c", "sleep 10 && mongosh mongo/rocketchat --eval 'rs.initiate({_id:\"rs0\",members:[{_id:0,host:\"mongo:27017\"}]})'"]# CLI-friendly admin via API
curl -H "X-Auth-Token: TOKEN" -H "X-User-Id: USER" \
-X POST https://chat.example.com/api/v1/channels.create \
-d '{"name":"engineering"}'
# Rocket.Chat App SDK — build custom apps
# npm install -g @rocket.chat/apps-cli
# rc-apps create my-app
# rc-apps deploy --url http://chat.example.com --username admin --password ...Key Features
- Channels + DMs + threads — feature parity with Slack basics
- Voice + video calls — Jitsi built-in, 3rd-party integrations available
- File sharing — local / S3 / GridFS storage, previews, search
- Apps + integrations marketplace — hundreds of apps (Jira, GitHub, Zapier, etc.)
- Omnichannel — WhatsApp, Facebook, SMS, email into one inbox
- LiveChat widget — embed on websites for customer support
- SSO + LDAP — enterprise authentication out of the box
- Federation (Matrix bridge) — join the Matrix network
Comparison with Similar Tools
| Feature | Rocket.Chat | Mattermost | Zulip | Element (Matrix) | Slack |
|---|---|---|---|---|---|
| Self-hostable | Yes | Yes | Yes | Yes | No |
| License | MIT | MIT | Apache-2.0 | Apache-2.0 | Proprietary |
| Voice/video | Built-in (Jitsi) | 3rd party | 3rd party | Via Element Call | Built-in (paid) |
| Threading | Yes | Yes | Yes (primary feature) | Yes | Yes |
| Omnichannel | Yes (focus) | Limited | No | No | Via Slack Connect |
| Federation | Matrix bridge | No | No | Native (Matrix) | No |
| Best For | Team chat + customer support | Team chat (devs) | Threaded discussions | Decentralized chat | Corporate convenience |
FAQ
Q: Rocket.Chat vs Mattermost? A: Mattermost is more focused on devops team chat (better threading + enterprise features in the paid tier). Rocket.Chat is broader — includes omnichannel customer support, LiveChat widget, and a bigger apps marketplace. Pick by feature set.
Q: Is self-hosting hard? A: Moderate. Docker Compose is straightforward. For production (HA, clustered MongoDB replica set, backups, SSL, email), plan a half-day setup. Managed cloud hosting avoids this.
Q: What about encryption? A: End-to-end encryption is available for DMs and private groups (opt-in). Server admins don't see the content when E2EE is enabled. For most enterprise deployments, server-managed encryption at rest is the norm.
Q: Can users federate across instances? A: Rocket.Chat federation (Matrix bridge) lets your server talk to Matrix-speaking servers. Native Rocket.Chat-to-Rocket.Chat federation is also supported.
Sources
- GitHub: https://github.com/RocketChat/Rocket.Chat
- Website: https://rocket.chat
- Company: Rocket.Chat Technologies Corp.
- License: MIT