feat(server): support configurable hostname for managed OpenCode server spawn (#599)

* feat(server): support configurable hostname for managed OpenCode server spawn

Allow the managed OpenCode server bind hostname to be configured via
OPENCHAMBER_OPENCODE_HOSTNAME environment variable (default: 127.0.0.1).

This enables LAN/Tailscale access without a reverse proxy by setting
the hostname to 0.0.0.0.

Closes #597

* fix: address review feedback — input validation, port probe hostname, security docs

- Add defensive parsing for OPENCHAMBER_OPENCODE_HOSTNAME with trim/empty
  check and warning log, matching OPENCODE_HOST validation pattern
- Pass configured hostname to resolveManagedOpenCodePort() so port
  availability is probed on the actual bind address, avoiding EADDRINUSE
- Add security note in README docs warning about 0.0.0.0 exposure on
  untrusted networks
This commit is contained in:
yslee
2026-03-23 15:48:04 +02:00
committed by GitHub
parent fb011d6f38
commit ea6d4c4d43
5 changed files with 54 additions and 4 deletions
+1
View File
@@ -864,6 +864,7 @@ ENVIRONMENT:
OPENCODE_HOST External OpenCode server base URL, e.g. http://hostname:4096
OPENCODE_PORT Port of external OpenCode server to connect to
OPENCODE_SKIP_START Skip starting OpenCode, use external server
OPENCHAMBER_OPENCODE_HOSTNAME Bind hostname for managed OpenCode server (default: 127.0.0.1)
EXAMPLES:
openchamber # Start in daemon mode on default port 3000 (or free port)