fix(docker+brain): make container Chrome search work, harden, improve toggle
Addresses review findings on the dockerized stack: - Container Chrome search was dead: add --remote-debugging-port + a non-default --user-data-dir (Chrome 136+ refuses CDP on the default profile), add the playwright dep (browse-search.mjs connectOverCDP) with browser download skipped, and connect to 127.0.0.1 not "localhost" (container localhost -> ::1 while Chrome binds IPv4). Verified: browse-search returns real results. - Broadcast toggle reliability: always offer setBroadcast in screen-share mode (the embedding/keyword router dropped it for non-English utterances) and make its description force a tool call. "방송 꺼줘"->stop now 5/5; no false triggers. - Stop the broadcast on voice leave (no orphaned stream). - Security: bind VNC/noVNC to loopback by default (VNC_BIND override) and the bridge to the container loopback (BRIDGE_HOST=127.0.0.1), not published. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -68,14 +68,17 @@ services:
|
||||
- "nvidia.com/gpu=all"
|
||||
shm_size: "1gb" # Chrome needs a larger /dev/shm
|
||||
ports:
|
||||
# Host ports are overridable. If the HOST already runs VNC on 5901
|
||||
# (see docs/vnc-xfce-setup.md), set VNC_PORT=5902 in .env — this server
|
||||
# does, so .env pins VNC_PORT=5902.
|
||||
- "${VNC_PORT:-5901}:5901" # VNC
|
||||
- "${NOVNC_PORT:-6080}:6080" # noVNC (open in a browser)
|
||||
# Brain bridge: bind to loopback only — it is an internal bot<->brain API
|
||||
# with no auth and must not be reachable off-host.
|
||||
- "127.0.0.1:${BRIDGE_PORT:-8765}:8765"
|
||||
# All published to loopback only by default — VNC/noVNC use a weak default
|
||||
# password and the bridge is an unauthenticated internal API, so none
|
||||
# should be reachable off-host. For remote access use an SSH tunnel, or
|
||||
# set a strong VNC_PASSWORD and override the bind (e.g. VNC_BIND=0.0.0.0).
|
||||
# Host VNC port is overridable; this server already runs Xvnc on 5901 so
|
||||
# .env pins VNC_PORT=5902.
|
||||
- "${VNC_BIND:-127.0.0.1}:${VNC_PORT:-5901}:5901" # VNC
|
||||
- "${VNC_BIND:-127.0.0.1}:${NOVNC_PORT:-6080}:6080" # noVNC (browser)
|
||||
# The brain bridge is NOT published: it binds the container's loopback
|
||||
# (BRIDGE_HOST=127.0.0.1) and is only consumed by the bot in this same
|
||||
# container, so it needs no host port and stays unreachable off-container.
|
||||
volumes:
|
||||
- javis_data:/data # jarvis db + memory
|
||||
- whisper_cache:/root/.cache/huggingface # cached Whisper models
|
||||
|
||||
Reference in New Issue
Block a user