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:
@@ -29,7 +29,9 @@ BRIDGE_PORT=8765
|
||||
JARVIS_BRAIN_ENABLED=1
|
||||
JARVIS_TTS_ENABLED=1
|
||||
# faster-whisper device/compute. GPU by default (RTX 5050 / sm_120, verified).
|
||||
# Falls back to CPU automatically if no GPU is passed to the container.
|
||||
# On a NO-GPU host (e.g. an app host that offloads the LLM to a separate GPU box)
|
||||
# set WHISPER_DEVICE=cpu AND WHISPER_COMPUTE_TYPE=int8 — float16 is GPU-only, so
|
||||
# CPU needs int8 (STT is slower on CPU).
|
||||
WHISPER_DEVICE=cuda
|
||||
WHISPER_COMPUTE_TYPE=float16
|
||||
# Optional explicit Piper voice model (.onnx). If empty, the jarvis default is used.
|
||||
@@ -203,6 +205,10 @@ VOICE_SILENCE_MS=800
|
||||
# full (default) everything in one container
|
||||
# browser ONLY the desktop + Chrome + control-server (driven over the LAN)
|
||||
# bot ONLY the bot + bridge + TTS (drives a REMOTE browser)
|
||||
# brain ONLY the bridge (STT + reply + TTS) on a GPU host — no bot/desktop.
|
||||
# The app host reaches it via BRIDGE_URL. See docs/DEPLOY.md "GPU split".
|
||||
# app the bot + desktop/Chrome, but NOT the local bridge: offloads
|
||||
# STT/LLM/TTS to a remote brain host (set BRIDGE_URL=http://<brain>:8765).
|
||||
JARVIS_ROLE=full
|
||||
|
||||
# --- GPU per OS: pick the matching compose override via COMPOSE_FILE ---
|
||||
|
||||
Reference in New Issue
Block a user