relaybox

The purpose of this library is to install the RelayBox CLI, which is designed to orchestrate the offline platform emulator.

With this emulator, you can replicate the full RelayBox environment locally, allowing you to test and develop your applications without needing access to the live platform. It simplifies the process by managing the setup and coordination of all necessary services, so you can focus on building and refining your app with confidence.

Installation

The relaybox package is distributed via npm and can be installed using the following command:

npm install -g relaybox

Once the library has been successfully installed, the following API reference applies.


Connecting to the platform

The offline platform emulator is intended for use alongside RelayBox Client and RelayBox REST SDKs. To connect to the offline platform, simply initialize a new instance of the RelayBox class, setting the offline options as follows.

const relayBox = new RelayBox({
  publicKey: 'Your public key',
  offline: {
    enabled: true, // Required
    port: 3000, // Optional port override based on config settings
  }
});

platform configure

Provides options for configuring application and db ports alongside logging levels. By default, the exposed platform services will run on the following ports:

  • proxy: 9000
  • db: 9001

Using a logging level of debug which will output all logs without any filtering. To customize these settings, simply run:

relaybox platform configure

Follow the prompts to configure your platform.

REMEMBER: Be sure to run relaybox platform up to sync configuration changes.


platform up

Responsible for pulling Docker container images and bootstrapping the database in preparation to connect and run applications.

relaybox platform up

Running relaybox platform up will start the offline platform emulator.


platform down

Responsible for stopping any running Docker containers.

relaybox platform down

application create

Creates an application and provides a publicKey and apiKey for use with the client and rest sdk libraries.

relaybox application create

A prompt will appear asking you to choose a name for your application. Once you've created an application, you will be provided with a publicKey and apiKey for use with the client and rest sdk libraries.

Output:

{
  "id": "gyyeqecxuhuz",
  "publicKey": "gyyeqecxuhuz.wotylbxdurq5",
  "apiKey": "gyyeqecxuhuz.wotylbxdurq5:b9d1d981b50991964461b92722b6c5"
}

oauth enable

Enable an oauth provider for use with the live auth service.

relaybox oauth enable

oauth disable

Disable an oauth provider for use with the live auth service.

relaybox oauth disable

auth reset-password

Outputs a 6 digit verification code following a password reset request via live auth

relaybox auth reset-password

webhook create

Outputs the generated webhook and request signing key. For more details on how to verify webhook signing keys, please visit the webhooks documentation.

relaybox webhook create

webhook edit

Edit an existing webhook. For more details on how to interact with webhooks, please visit the webhooks documentation.

relaybox webhook edit

webhook list

List and view existing webhook info. For more details on how to interact with webhooks, please visit the webhooks documentation.

relaybox webhook list

Outputs:

{
  id: 'c10c8bfe-9b02-409a-b736-a9791dc240e5',
  appId: 'e6f137d7-fd25-48e4-b4ed-58fc9231917f',
  appPid: 'dyhojjjvdqee',
  name: 'test',
  url: 'https://my-webhook-endpoint.com/v1/webhooks',
  signingKey: '123456',
  enabled: true,
  headers: null,
  createdAt: 2024-10-22T08:23:24.488Z,
  updatedAt: null,
  deletedAt: null,
  webhookEvents: [
    {
      id: '715ba5ba-ca8f-45e0-b10f-c44a7872dde2',
      type: 'room:publish',
      enabled: true,
      name: 'Room: User publish message',
      description: null,
      category: null
    }
  ]
}

    On this page