From e4194b68a1018b546a19180a9d21b4f010932133 Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Sat, 17 Jan 2026 18:30:05 -0800 Subject: [PATCH] feat(rivetkit): enable configuring manager host --- .../packages/rivetkit/src/registry/config/index.ts | 6 ++++++ .../packages/rivetkit/src/registry/serve.ts | 14 +++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/rivetkit-typescript/packages/rivetkit/src/registry/config/index.ts b/rivetkit-typescript/packages/rivetkit/src/registry/config/index.ts index 5c9916cc9b..cfa817b647 100644 --- a/rivetkit-typescript/packages/rivetkit/src/registry/config/index.ts +++ b/rivetkit-typescript/packages/rivetkit/src/registry/config/index.ts @@ -107,6 +107,12 @@ export const RegistryConfigSchema = z * What port to run the manager on. */ managerPort: z.number().optional().default(6420), + /** + * @experimental + * + * What host to bind the manager server to. + */ + managerHost: z.string().optional(), /** @experimental */ inspector: InspectorConfigSchema, diff --git a/rivetkit-typescript/packages/rivetkit/src/registry/serve.ts b/rivetkit-typescript/packages/rivetkit/src/registry/serve.ts index ea8f4d7285..39c91b8a5b 100644 --- a/rivetkit-typescript/packages/rivetkit/src/registry/serve.ts +++ b/rivetkit-typescript/packages/rivetkit/src/registry/serve.ts @@ -96,8 +96,9 @@ async function serveNode( // Start server const port = managerPort; - const server = serve({ fetch: app.fetch, port }, () => - logger().info({ msg: "server listening", port }), + const hostname = config.managerHost; + const server = serve({ fetch: app.fetch, port, hostname }, () => + logger().info({ msg: "server listening", port, hostname }), ); injectWebSocket(server); @@ -127,10 +128,11 @@ async function serveDeno( } const port = config.managerPort; + const hostname = config.managerHost; // Use Deno.serve - Deno.serve({ port }, app.fetch); - logger().info({ msg: "server listening", port }); + Deno.serve({ port, hostname }, app.fetch); + logger().info({ msg: "server listening", port, hostname }); return { upgradeWebSocket }; } @@ -160,15 +162,17 @@ async function serveBun( const { websocket, upgradeWebSocket } = createBunWebSocket(); const port = config.managerPort; + const hostname = config.managerHost; // Use Bun.serve // @ts-expect-error - Bun global Bun.serve({ fetch: app.fetch, port, + hostname, websocket, }); - logger().info({ msg: "server listening", port }); + logger().info({ msg: "server listening", port, hostname }); return { upgradeWebSocket }; }