feat(deploy): add brain/app roles for GPU-split deployment
Run the GPU-heavy compute (Whisper STT, Ollama LLM, TTS) on a dedicated brain host and the bot + browser on a separate no-GPU app host, talking over the LAN. - supervisord: new `brain` role (bridge only) and `app` role (bot + desktop/Chrome, no local bridge); `full`/`browser`/`bot` unchanged. - compose: make BRIDGE_URL overridable (was hardcoded to loopback, which prevented the bot from reaching a remote bridge). - docs: DEPLOY.md "GPU split" layout with per-host .env blocks; document the new roles in run-if-role.sh and .env.example. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -106,10 +106,17 @@ services:
|
||||
# on short/noisy Discord speech. Lower to 1 for minimum latency.
|
||||
STT_BEAM_SIZE: ${STT_BEAM_SIZE:-5}
|
||||
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.
|
||||
# Where the bot reaches the brain bridge (STT + reply + TTS). Loopback for
|
||||
# all-in-one. In a GPU-split layout the bot host (JARVIS_ROLE=app) points
|
||||
# this at the brain host: BRIDGE_URL=http://192.168.10.9:8765 (that host
|
||||
# runs JARVIS_ROLE=brain with BRIDGE_HOST=0.0.0.0 + SETTINGS_PUBLISH_BIND=0.0.0.0).
|
||||
BRIDGE_URL: ${BRIDGE_URL:-http://127.0.0.1:8765}
|
||||
# Split-deployment role (see docker/run-if-role.sh):
|
||||
# full (default) everything in one container
|
||||
# browser only desktop + Chrome + control-server (driven over the LAN)
|
||||
# bot only bot + bridge + TTS (drives a remote browser)
|
||||
# brain only the bridge (STT + reply + TTS) — GPU host, no bot/desktop
|
||||
# app bot + browser/desktop, NO local bridge (uses a remote brain)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user