feat: split-deployment roles (browser-host on LAN + remote bot)
Add JARVIS_ROLE (full|browser|bot) via a run-if-role.sh supervisord guard so one image serves three layouts. Make Chrome CDP bind configurable (CDP_BIND) and publishable on the LAN (CDP_PUBLISH_BIND) so a bot on another PC can drive this host's on-screen Chrome over the internal network (no auth, as requested).
This commit is contained in:
@@ -79,6 +79,18 @@ services:
|
||||
STT_LANGUAGE: ${STT_LANGUAGE:-ko}
|
||||
VOICE_SILENCE_MS: ${VOICE_SILENCE_MS:-600}
|
||||
BRIDGE_URL: http://127.0.0.1:8765
|
||||
# Split-deployment role: full (default, all-in-one), browser (only the
|
||||
# desktop + Chrome + CDP, reused over the LAN), or bot (only bot + bridge
|
||||
# + TTS, driving a remote browser via CDP_HOST). See docker/run-if-role.sh.
|
||||
JARVIS_ROLE: ${JARVIS_ROLE:-full}
|
||||
# Chrome CDP bind address INSIDE the container. 0.0.0.0 lets a remote bot
|
||||
# (JARVIS_ROLE=bot on another PC) drive this host's browser. Loopback by
|
||||
# default so the all-in-one layout stays unreachable off-host.
|
||||
CDP_BIND: ${CDP_BIND:-127.0.0.1}
|
||||
CDP_PORT: ${CDP_PORT:-9222}
|
||||
# Where the bot drives Chrome. Loopback for full/browser; on a remote bot
|
||||
# set CDP_HOST to the browser host's LAN IP (e.g. 192.168.10.9).
|
||||
CDP_HOST: ${CDP_HOST:-127.0.0.1}
|
||||
depends_on:
|
||||
- ollama
|
||||
# GPU: accelerates Whisper STT (and anything else CUDA) in this container.
|
||||
@@ -95,6 +107,9 @@ services:
|
||||
# .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)
|
||||
# Chrome CDP for a remote bot (JARVIS_ROLE=bot). Loopback by default; for a
|
||||
# LAN browser-host set CDP_PUBLISH_BIND=0.0.0.0 (internal network, no auth).
|
||||
- "${CDP_PUBLISH_BIND:-127.0.0.1}:${CDP_PORT:-9222}:9222" # Chrome CDP
|
||||
# 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.
|
||||
|
||||
Reference in New Issue
Block a user