--- title: "Rocket Chat Server Architecture" slug: "server-architecture" description: "Explore Rocket Chat server architecture. Understand secure communication flows, components, and design principles for developers." updated: 2026-02-13T13:51:57Z published: 2026-02-13T13:51:57Z canonical: "developer.rocket.chat/server-architecture" --- > ## Documentation Index > Fetch the complete documentation index at: https://developer.rocket.chat/llms.txt > Use this file to discover all available pages before exploring further. # Server Architecture Rocket.Chat’s server architecture defines how the platform is structured and how its components interact to deliver a scalable and reliable messaging system. This overview introduces the core elements of the architecture and explains how they work together. > [!NOTE] > For a broader perspective, see [architecture and components](/v1/docs/architecture-and-components) guide. ## Core components - **Core server:** Contains packages responsible for authentication, messaging, and other essential server functionality. - **Database:** Rocket.Chat uses [MongoDB](https://docs.rocket.chat/docs/mongodb-configuration) to store application data, including messages, user information, and system configurations. - **File storage:** Stores assets such as uploaded files, images, and other media. ## Services Rocket.Chat’s architecture includes both **internal** and **external** services: - **Internal services** run within the Meteor instance and are tightly integrated with the main server process. - **External services** operate independently in separate processes, enabling better scalability and fault isolation. ### External services [Rocket.Chat](http://Rocket.Chat) includes the following external services: - [**Authorization:**](https://docs.rocket.chat/docs/oauth) Manages user permissions and access control. The service is stateless and supports horizontal scaling. - [**Account**](https://docs.rocket.chat/docs/accounts): Handles account lifecycle operations such as creation, updates, and deletion, and supports authentication workflows (for example, login and logout). This service is stateless and horizontally scalable. [**Presence**](https://docs.rocket.chat/docs/user-status#presence-service)**:** Tracks and updates users’ online status. Designed to be stateless and horizontally scalable. - [**DDPStreamer**](https://docs.rocket.chat/v1/docs/en/microservices): Manages DDP (Distributed Data Protocol) connections, including subscriptions, client-server communication, and data delivery. Supports horizontal scaling. - [**Apps-Engine**](/v1/docs/rocketchat-apps-engine)**:** Manages Rocket.Chat applications, including installation, execution, updates, and removal. Although designed for horizontal scaling, this service is currently under active development. > [!NOTE] > **Key terms:** > > - **Horizontally scalable:** Capacity can be increased by adding more servers or instances, distributing workload and improving resilience without introducing a single point of failure. > > - **Stateless:** The service does not retain session data between requests. Each request is handled independently, simplifying scaling and improving reliability. ### Internal services [Rocket.Chat](http://Rocket.Chat) includes the following internal services: - **Banner:** Manages banner lifecycle operations, including creation, updates, and deletion. - **LDAP:** Handles [LDAP (Lightweight Directory Access Protocol)](https://docs.rocket.chat/v1/docs/ldap) integration, establishing connections to LDAP servers and synchronizing user data. - **NPS:** Works with the Banner service to manage [Net Promoter Score (NPS)](https://docs.rocket.chat/docs/net-promoter-score-nps-survey) surveys, generate targeted banners, and process survey responses. - **Room:** Manages [chat room](https://docs.rocket.chat/docs/workspace-administration-rooms) lifecycle operations, including creation, updates, and deletion. - **Omnichannel:** Supports core [omnichannel](https://docs.rocket.chat/docs/omnichannel) operations and workflows. - **Omnichannel VoIP:** Enables [VoIP (Voice over Internet Protocol)](https://docs.rocket.chat/docs/voice-channel-technical-specification) calling within the omnichannel system. - **Team:** Manages [team](https://docs.rocket.chat/docs/teams) lifecycle operations, including creation, updates, and deletion. - **UiKitCoreApp:** Processes [UIKit](https://rocketchat.github.io/Rocket.Chat.Apps-engine/modules/uikit.html) actions and events, leveraging the Apps-Engine for app-related workflows and Meteor Legacy for core functionality. - **Push:** Manages [push notifications](https://docs.rocket.chat/v1/docs/push-notifications) and delivers them to mobile applications. - **Upload:** Handles [file uploads](https://docs.rocket.chat/v1/docs/en/file-upload), including storage and file management. - **Messaging:** Manages [message](https://docs.rocket.chat/docs/messages) processing within Rocket.Chat. - **Settings:** Manages [system settings](https://docs.rocket.chat/docs/settings), including creation, updates, and deletion.