Architecture and Components

Prev Next

Rocket.Chat uses a modular, multi-component architecture designed for flexibility, scalability, and reliability. Components operate independently while integrating seamlessly, allowing organizations to enable capabilities such as video conferencing and file sharing based on their requirements.

Rocket.Chat follows a client-server architecture. The server is written in JavaScript using Node.js and uses MongoDB for data storage, supporting real-time communication across on-premises and cloud deployments. Organizations can use Rocket.Chat to support collaboration across departments and enable customer support workflows.

This document outlines the architectural components available in Premium plans, Community workspaces, and those included across all plans.


Rocket.Chat Premium plan architecture

Rocket.Chat Premium plans provide advanced, scalable capabilities that extend the functionality of Community workspaces. They are designed for organizations with complex requirements, supporting scalability, reliability, and maintainability.

Refer to the official guide for a detailed overview of Premium plans.

Server (Rocket.Chat Monolith/Microservices)

A Rocket.Chat workspace can be deployed as a monolith with multiple nodes or as a microservices  architecture.

  • In a microservices architecture, components operate independently, supporting scalability, load balancing, and high availability.

  • Individual components can be updated or replaced without affecting the entire system.

Apps, integrations, and bridges

Rocket.Chat is designed to be extensible and interoperable.

  • Apps are developed using Apps-Engine,, which interfaces with the Rocket.Chat server. Examples include the WhatsApp app  and Google Calendar app.

  • External apps can also be installed from the Rocket.Chat Marketplace.

  • Integrations enable connectivity with external systems and services through APIs and webhooks.

  • Federation, introduced in version 7.11, is Rocket.Chat’s native implementation of the Matrix protocol. It runs within Rocket.Chat without requiring external services or additional databases, enabling secure and interoperable communication across federated networks.

Storage

  • Files such as assets, user files, images, and other media can be stored locally on the server or through network services such as Amazon S3and WebDAV.

  • Allowed and blocked file types can be configured at the workspace level.

See the standard architecture section for details about other common components.


Rocket.Chat Community workspace architecture

Community plan architecture 

Server

  • A Rocket.Chat Community workspace can be deployed as a monolith, where a central processing unit manages application logic, user accounts, message storage, and communication with other components.

  • This unified structure supports system operation by handling core functions within a single service.

Refer to the standard architecture  section for information about the remaining components.


Standard architecture (Premium and Community)

Reverse proxy

A reverse proxy adds a security and traffic management layer to Rocket.Chat deployments.

  • It acts as an intermediary for client requests, supporting load balancing, caching, and request filtering.

  • It helps distribute traffic across servers and can cache frequently accessed data to improve response times.

  • It filters malicious requests to help protect the system.

Role-based access control

Rocket.Chat manages user permissions through role-based access control (RBAC), ensuring users can access only the features and data they are authorized to use.

Authentication and authorization

Authentication, authorization, and access control are supported through open standard protocols such as OAuth, SAML, and LDAP, enabling centralized user management and secure login workflows.

Database

Rocket.Chat uses MongoDB to store chat messages, user information, system configurations, and related data.

Clients

Rocket.Chat clients provide user interfaces on web, desktop, and mobile application.

  • Core functionality is exposed through REST APIs  and WebSockets, supporting integration with external user experiences.

  • Users can access the platform across devices and environments.

Push notifications

Push notifications are integral to real-time communication platforms. Rocket.Chat supports push notifications delivered to mobile devices through a cloud push notification gateway,. SMTP and email notifications can also be  configured. to support message delivery through traditional channels.

WebSocket

Rocket.Chat uses the WebSocket protocol to support real-time communication between clients and the server, enabling bi-directional data transfer.

Change streams

Rocket.Chat includes a reactivity layer that supports real-time data updates across the system, allowing clients to receive the latest state changes.

Apps-Engine

The Rocket.Chat Apps-Engine framework enables the creation and hosting of custom applications that extend platform functionality.

Matrix protocol

Rocket.Chat includes Federation, a built-in implementation of the Matrix protocol that enables decentralized communication across Rocket.Chat servers and Matrix-compatible platforms without requiring external homeservers.