Skip to content

Add configurable WebUI bind host for Docker/headless environments #715

@ForteDexe

Description

@ForteDexe

Pre-flight checklist

  • I have searched existing issues and this feature has not been requested yet

Problem statement

brv webui --port 9990 only binds to 127.0.0.1 inside a Docker container, so it is not reachable from the Docker host or LAN even when the port is published.

Environment

  • ByteRover CLI: 3.16.0
  • Install method: npm global
  • Runtime: Docker container
  • Command: brv webui --port 9990

Observed behavior

Inside container:

curl http://127.0.0.1:9990/
# 200 OK

But container network IP does not work:

curl http://172.17.0.2:9990/
# connection refused

Listener:

127.0.0.1:9990 node .../byterover-cli/.../brv-server.js

Notes

Current source appears to hardcode localhost:

export const TRANSPORT_HOST = '127.0.0.1'

and the WebUI server listens using that host.

The frontend also connects to the daemon with:

http://127.0.0.1:${config.daemonPort}

So Docker/external access likely needs both:

  1. configurable WebUI bind host
  2. a browser-safe daemon/WebSocket URL strategy when accessed from another host

Proposed solution

Allow binding the WebUI to 0.0.0.0, for example:

brv webui --host 0.0.0.0 --port 9990

or:

BRV_WEBUI_HOST=0.0.0.0 BRV_WEBUI_PORT=9990 brv webui

Alternatives considered

No response

Area

CLI Commands

Additional context

No response

Contribution

  • I am willing to submit a pull request for this feature

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions