Directus Realtime Extension

screenshot of Directus Realtime Extension
directus

Add realtime capabilities to your Directus App over WebSockets

Overview:

The Directus Realtime Extension is designed to add realtime capabilities to your Directus app by creating a layer between your Pusher/Soketi server and your Directus app. It allows any Pusher-maintained or compatible client to connect to it, giving you total control over your channels and the ability to publish and authorize them using JavaScript that can be edited in your admin panel. The project is currently in the Alpha stage of development and is ready for use, although there may still be some kinks to work out before it is stable enough for production use.

Features:

  • Realtime capabilities for your Directus app
  • Total control over channels and authorization
  • Compatible with Pusher and Soketi
  • Open-source alternative to Pusher

Environment Variables:

  • RT_APP_ID (required, default: "app-id"): Your app ID.
  • RT_APP_KEY (required, default: "app-key"): Your app key.
  • RT_APP_SECRET (required, default: "app-secret"): Your app secret.
  • RT_APP_HOST (required, default: "soketi"): Your app host.
  • RT_APP_CLUSTER (not required for Soketi, default: undefined or disabled): Your app cluster.
  • RT_ENCRYPTION_MASTER_KEY (not required if you don't need encryption on channels, default: undefined or disabled): Your encryption master key.
  • RT_APP_PORT (required, default: 6001): Your app port.
  • RT_USE_TLS (default: NO): Specify whether to use TLS.
  • RT_USE_STATS (default: undefined or disabled): Specify whether to use stats.

Summary:

The Directus Realtime Extension allows you to add realtime capabilities to your Directus app by creating a layer between your Pusher/Soketi server and your app. With total control over channels and authorization, you can customize the functionality to meet your needs. The installation process involves cloning the repository, installing dependencies, moving files to the appropriate folders, and setting environment variables. The extension is currently in the Alpha stage of development, but is ready for use, with further improvements planned for the future.

directus
Directus

A website that uses Directus as an open source headless CMS to manage content. This includes features such as a customizable content model, role-based access control, and API-based content delivery to support a wide range of digital experiences.

Recoil

Recoil is a state management library for React that provides an intuitive and flexible API for managing and sharing state across components. It supports a range of features, including derived state, asynchronous updates, and time-travel debugging, and is designed to work well with the React ecosystem and other state management solutions.