* 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
31 lines
1.4 KiB
YAML
31 lines
1.4 KiB
YAML
services:
|
|
openchamber:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: openchamber
|
|
ports:
|
|
- "3000:3000"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
volumes:
|
|
- ./data/openchamber:/home/openchamber/.config/openchamber
|
|
- ./data/opencode/share:/home/openchamber/.local/share/opencode
|
|
- ./data/opencode/state:/home/openchamber/.local/state/opencode
|
|
- ./data/opencode/config:/home/openchamber/.config/opencode
|
|
- ./data/ssh:/home/openchamber/.ssh
|
|
- ./workspaces:/home/openchamber/workspaces
|
|
#environment:
|
|
# OPENCHAMBER_HOST: 0.0.0.0 # Bind address (default in Docker: 0.0.0.0)
|
|
# UI_PASSWORD: your_secure_password_here # Uncomment to set UI password
|
|
# OPENCHAMBER_TUNNEL_PROVIDER: cloudflare
|
|
# OPENCHAMBER_TUNNEL_MODE: quick # quick | managed-remote | managed-local
|
|
# OPENCHAMBER_TUNNEL_HOSTNAME: app.example.com # required for managed-remote
|
|
# OPENCHAMBER_TUNNEL_TOKEN: your_cloudflare_token # required for managed-remote
|
|
# OPENCHAMBER_TUNNEL_CONFIG: /home/openchamber/.cloudflared/config.yml # optional for managed-local
|
|
# OH_MY_OPENCODE: true # enable oh-my-opencode
|
|
# OPENCODE_HOST: http://172.17.0.1:4096 # Connect to external OpenCode server
|
|
# OPENCODE_SKIP_START: true # skip start opencode
|
|
# OPENCHAMBER_OPENCODE_HOSTNAME: 0.0.0.0 # Bind OpenCode to all interfaces
|
|
restart: unless-stopped
|