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