Rocket.Chat Federation

Rocket.Chat's Federation feature enables interconnected communication across different workspaces, leveraging the Matrix protocol for secure, decentralized, and interoperable messaging. This guide provides an overview of Rocket.Chat Federation, including how to enable it, supported deployment paths, limitations, and critical considerations for effective federation setup and management.

Rocket.Chat Federation Fundamentals

Federation in Rocket.Chat allows workspaces to communicate and share resources within a federated network, facilitating collaboration with external partners, customers, and other organizations. By using the Matrix protocol, Rocket.Chat ensures secure and decentralized communication, enhancing security and interoperability across the federated network.

Key Features of Federation

  • Security: Implement secure communication protocols to protect data in transit and at rest across the federated network.

  • Interoperability: Seamlessly exchange data and communicate across different platforms within the federated ecosystem.

  • Efficient Services: Apply consistent policies and configurations across the federated network for streamlined management and operations.

Supported Deployment Paths

Rocket.Chat Federation supports two primary deployment configurations:

  • Microservices Deployment: Integrates one microservices deployment with one Matrix home server.

  • Single Instance Deployment: Configures a single instance of Rocket.Chat with one Matrix home server.

Multi-instance Rocket.Chat deployment with a single Matrix home server is not currently supported.

Enabling Federation in Rocket.Chat

Set up and configure federation with Matrix Bridge using this guide. Rocket.Chat uses Matrix for federation, employing Matrix bridges for connecting with platforms like Slack and WhatsApp. For details on setting up and configuring Matrix bridges, refer to the Matrix AppService documentation.

Limitations of Rocket.Chat Federation

1. Scaling Limitations

The scalability of Rocket.Chat Federation is limited to the scaling capabilities Matrix home server. For information on sizing and scaling, refer to the Matrix documentation.

2. Connectivity Dependencies

Both continuous and sporadic connectivity scenarios are supported in a federated Rocket.Chat implementation. However, Rocket.Chat has not extensively tested environments with intermittent connectivity.

3. Event Synchronization Limitations

Event synchronization between Rocket.Chat and the Matrix home server face several challenges that may impact operational consistency. Below is a list of events and issues that have been identified, which will be continually updated as more information becomes available.

  • Room and User Deletion: Currently, the deletion of rooms and users is not implemented for synchronization between Rocket.Chat and the Matrix home server. This means that any deletion action taken in one platform will not automatically reflect in the other. It's essential to consider how user data is managed and deleted across systems to maintain consistency between environments.

  • File Upload Limits: There is a discrepancy in file size limits between Rocket.Chat and the Matrix home server. Administrators need to manually align these limits to ensure files are appropriately handled during synchronization.

Administrators are advised to review these limitations and adjust their workflows accordingly to minimize disruption and maintain compliance with regulatory standards. Future documentation updates will provide further details and guidance on mitigating these synchronization challenges.

Features

Here are various Rocket.Chat federation features and the plans they're supported in:

FeatureCommunityStarterProEnterprise

Create 1:1 DMs

Create federated channels and multi-user DMs. Create federated rooms

Invite external users to federated channels and DMs from the UI.Invite external users to your Rocket.Chat server

Search for public federated rooms in the Matrix Network.

Invite multiple users to multi-user DMs using slash commands.

Invite an external user to DMs using slash commands.

Send/Receive attachments (files, audio, and video messages)

Edit, Delete and Qoute messages.

Message reactions and sending emojis.

Mention internal and external users in federated channels.

User's avatar synchronization.

Support for Markdown spec.

Rocket.Chat Federation expands your workspace's communication capabilities, enabling seamless collaboration across different platforms and organizations. By understanding the supported deployment paths, limitations, and key features, administrators can effectively set up and manage their federated networks, ensuring secure, interoperable, and efficient communication across the Rocket.Chat ecosystem.

Last updated

Rocket.Chat versions receive support for six months after release.