RSS3 Documentation
DeploymentComponent

Federated Component

An introduction to the Federated component.

Introduction

Federated networks are decentralized systems composed of multiple interconnected servers or instances that form a federation, enabling seamless data sharing and communication among participants. They have gained popularity due to their decentralized nature, which allows users to maintain control over their data and privacy.

RSS3 Node has a Federated component that indexes data from federated networks conforming to the ActivityPub protocol (with more protocols coming). This means data from federated sources like Mastodon, Misskey, and Threads can be seamless integrated into the RSS3 ecosystem.

Deployment

This guide assumes you have already deployed an RSS3 Node and are familiar with the deployment process. If not, refer to the Deployment Guide for detailed instructions.

Hardware Requirements

Thanks to Node’s optimization, adding a Federated component does not have noticeable impact on CPU or memory.

However, it does require additional storage space, which varies based on the number of federated networks and the volume of data they generate. Monitor your Node closely to ensure it has sufficient storage capacity to support the Federated component’s data requirements.

Sample config.yaml

There is a new section under component for the Federated component, which looks like this:

environment: production
 
# the rest of the config...
 
endpoints:
  # the rest of the config...
  mastodon:
    # `url` is the public URL which points to a Mastodon relay
    # should be domain, not IP address
    # either https or http is supported
    url: https://your.mastodon.relay
 
component:
  # the rest of the config...
 
  # `federated` component includes workers indexing data from federated networks conforming to ActivityPub protocol, such as Mastodon, Misskey, and Threads.
  federated:
      # `id` is a unique identifier for the worker.
    - id: mastodon-core
      # `network` is the network that the worker is indexing from.
      network: mastodon
      # `endpoint` is defined in the `endpoints` section above.
      endpoint: mastodon
      worker: core
 
# the rest of the config...

Conclusion

In this guide, we introduced the Federated component and provided a sample configuration for deploying it.

By adding a Federated component to your RSS3 Node, you can seamlessly integrate data from federated networks into your Node, expanding its coverage and utility of your Node. This may increase your Node's visibility and attract more requests, enhancing your Node's reputation and potential operation rewards.

On this page