Overview
Discover what makes Rocket.Chat powerful
Rocket.Chat is a fully open‑source, TypeScript‑centric communication platform that delivers real‑time messaging, voice/video, and omnichannel support (WhatsApp, SMS, etc.) while maintaining strict data‑protection guarantees. From a developer’s standpoint, the project is built around a modular architecture that exposes a rich REST and WebSocket API, enabling seamless integration with existing enterprise stacks. The codebase is split into a **server** (Node.js/TypeScript) and a **client** (React/Redux), both compiled to JavaScript for broad browser support. The backend leverages MongoDB as its primary datastore, but also offers optional PostgreSQL and MySQL adapters for relational workloads. All data is encrypted at rest using AES‑256, with optional field‑level encryption for sensitive payloads.
Languages
Frameworks
Databases
Messaging
Overview
Rocket.Chat is a fully open‑source, TypeScript‑centric communication platform that delivers real‑time messaging, voice/video, and omnichannel support (WhatsApp, SMS, etc.) while maintaining strict data‑protection guarantees. From a developer’s standpoint, the project is built around a modular architecture that exposes a rich REST and WebSocket API, enabling seamless integration with existing enterprise stacks. The codebase is split into a server (Node.js/TypeScript) and a client (React/Redux), both compiled to JavaScript for broad browser support. The backend leverages MongoDB as its primary datastore, but also offers optional PostgreSQL and MySQL adapters for relational workloads. All data is encrypted at rest using AES‑256, with optional field‑level encryption for sensitive payloads.
Technical Stack & Architecture
- Languages: TypeScript (server & client), JavaScript, Dockerfile/Compose for containerization.
- Frameworks: Node.js (Express‑style), React + Redux on the front end, Meteor‑like publish/subscribe model for real‑time updates.
- Databases: MongoDB (default), PostgreSQL/MySQL via
rocketchat-dbadapters. - Messaging: WebSocket (Rocket.Chat’s own protocol) for low‑latency events, plus REST endpoints for CRUD operations.
- Containerization: Official Docker images are available on Docker Hub, with Helm charts for Kubernetes and a full Podman support matrix.
- CI/CD: GitHub Actions pipelines run tests, build Docker images, and publish to npm packages (
@rocket.chat/core-typings,@rocket.chat/ui-contexts).
The server exposes a REST API (/api/v1) and a GraphQL gateway for advanced queries. WebSocket events are prefixed with @rocket.chat and can be subscribed to via the /socket.io/ endpoint. All API routes are authenticated using JWT tokens or session cookies, with role‑based access control baked into the middleware stack.
Core Capabilities & APIs
- Real‑time Collaboration: Channels, private groups, direct messages with end‑to‑end encryption.
- Omnichannel: Connect external channels (WhatsApp Business, SMS gateways) through adapters; each adapter exposes a standardized webhook interface.
- Bots & Apps: A plugin SDK (
@rocket.chat/apps-engine) allows developers to build modular apps that can register commands, listen to events, and interact with the core via theAppAPI. - Extensibility: Themes, custom UI components, and CSS overrides can be injected via the admin panel or by publishing a marketplace app.
- Webhooks & Callbacks: Incoming/outgoing webhooks are configurable per channel, with payload templates and secret signing for verification.
- Data Export & Import: JSON export of rooms, users, and messages; import API for migration scripts.
Deployment & Infrastructure
Rocket.Chat is designed to run in any container‑friendly environment. The official Docker image uses a multi‑stage build that produces a lightweight Alpine base, reducing attack surface. For Kubernetes, the Helm chart defines a StatefulSet with persistent volumes for MongoDB or external database instances, and optional TLS termination via Ingress. Air‑gapped deployments are supported by bundling all dependencies into a single image and using the --offline flag during installation. Scaling is achieved by running multiple Rocket.Chat pods behind a load balancer; the underlying WebSocket server uses sticky sessions to maintain user state. Horizontal scaling of MongoDB (via sharding) or PostgreSQL (via read replicas) can be orchestrated separately.
Integration & Extensibility
The Apps Engine is the primary extension point, allowing developers to ship third‑party apps that can:
- Register slash commands (
/hello,/weather) - Subscribe to message events (
onMessageSent) - Access user and room data through typed APIs
- Persist custom data in the database via
IStorage
Additionally, Rocket.Chat exposes a WebSocket API for real‑time monitoring tools and custom dashboards. For legacy systems, the REST endpoints can be consumed by any HTTP client. The platform also supports SAML, OAuth2, and LDAP for SSO, making it a drop‑in replacement for proprietary chat solutions.
Developer Experience
- Documentation: Comprehensive, versioned docs hosted on
docs.rocket.chatwith a developer section covering SDK usage, API references, and migration guides. - Community: Active GitHub repo with >10k stars, a Slack channel, and an official Discord server.
- Testing: End‑to‑end tests run via Cypress, unit tests with Jest; CI ensures 80%+ coverage.
- Configuration: All runtime settings are environment variables; the
rocket.chatcommand-line tool scaffolds new installations and manages upgrades. - Licensing: MIT, allowing unrestricted use in commercial projects.
Use Cases
- Enterprise Messaging Hub – Replace proprietary SaaS chat with a self‑hosted, GDPR‑compliant solution that integrates with internal LDAP and custom HR APIs.
- Customer Support Omnichannel – Expose a unified inbox that pulls conversations from WhatsApp, SMS, and web chat, with bot‑driven routing to support
Open SourceReady to get started?
Join the community and start self-hosting Rocket.Chat today
Related Apps in apis-services
Mastodon
Decentralized, real‑time social networking
Discourse
Open‑source community forum platform with real‑time chat and AI
Novu
Unified notification platform for multi‑channel delivery
Mattermost
Secure, self‑hosted team collaboration with chat, voice, and AI
Jitsi Meet
Free, encrypted video conferencing for everyone
ntfy
Send push notifications via HTTP scripts
Weekly Views
Repository Health
Information
Explore More Apps
Ergo
Modern, feature‑rich IRC server in Go
Black Candy
Self-hosted music streaming for your personal library
Dovecot
Secure, high‑performance IMAP server
Opengist
Self-hosted Pastebin powered by Git
Kibitzr
Self‑hosted web watcher & notifier
Hiccup
Fast, static start page for links and bookmarks
