Skip to content
Roomful is in public beta — install with the @beta tag. Share feedback →

Interface: RelayServerOptions

@roomful/relay


@roomful/relay / RelayServerOptions

Defined in: packages/relay/src/server.ts:150

Configures the public relay server.

optional authorize: (context) => boolean | void | Promise<boolean | void>

Defined in: packages/relay/src/server.ts:169

Runs custom authorization before accepting a peer.

RelayAuthorizeContext

boolean | void | Promise<boolean | void>


optional authSecret: string

Defined in: packages/relay/src/server.ts:194

Enables built-in JWT authorization. When set, peers must present a valid HS256 token signed with this secret unless a custom authorize/auth() handler is configured.


optional corsOrigin: string

Defined in: packages/relay/src/server.ts:187

Restricts browser access by allowed origin. When set, HTTP responses carry matching CORS headers and WebSocket upgrades from other browser origins are rejected. Use '*' to allow any origin.


optional host: string

Defined in: packages/relay/src/server.ts:159

Selects the listening host.


optional maxConnections: number

Defined in: packages/relay/src/server.ts:164

Caps concurrent peer connections.


optional maxRoomSize: number

Defined in: packages/relay/src/server.ts:180

Caps the number of peers allowed in any single room. Applied as a hard ceiling on top of the client-provided maxPeers.


port: number

Defined in: packages/relay/src/server.ts:154

Selects the listening port.


optional redisUrl: string

Defined in: packages/relay/src/server.ts:174

Enables Redis coordination across relay instances.