---
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
---

> ## 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.
