Skip to content

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

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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions