feat(compose): allow external Ollama via OLLAMA_BASE_URL override

For the split where the LLM runs on a separate LAN host (e.g. a GPU box at
192.168.10.9) and the app stack runs elsewhere (192.168.10.5), the brain must
reach Ollama over the network. The javis service hardcoded
OLLAMA_BASE_URL=http://ollama:11434, ignoring any .env value, so the app could
only use the in-stack Ollama. Make it ${OLLAMA_BASE_URL:-http://ollama:11434}:
default unchanged (all-in-one), overridable to point at an external Ollama.
Document the external-Ollama setup in .env.example and DEPLOY.md, refresh the
browser-host IP examples (.9→.5), and de-hardcode the .9 example in novnc.ts.
This commit is contained in:
javis-bot
2026-07-22 13:42:58 +09:00
parent ffc16665e5
commit db51bb92e6
4 changed files with 36 additions and 8 deletions

View File

@@ -30,7 +30,7 @@ The on-screen Chrome, real mouse/keyboard (xdotool) and screen live on the
**browser host**. Your PC runs the **bot** and drives that browser over the
internal network — no auth (internal only).
### Browser host (the LAN machine that shows Chrome, e.g. 192.168.10.9)
### Browser host (the LAN machine that shows Chrome, e.g. 192.168.10.5)
```
# .env
@@ -50,7 +50,7 @@ Watch it on this machines VNC (`localhost:5901`) / noVNC (`localhost:6080`).
```
# .env
JARVIS_ROLE=bot
BROWSER_CONTROL_URL=http://192.168.10.9:8777 # the browser host's LAN IP
BROWSER_CONTROL_URL=http://192.168.10.5:8777 # the browser host's LAN IP
COMPOSE_FILE=docker-compose.yml:docker-compose.gpu-linux.yml # Ubuntu/macOS (":" )
# COMPOSE_FILE=docker-compose.yml;docker-compose.gpu-windows.yml # Windows 11 (";" )
DISCORD_SELFBOT_TOKEN=...
@@ -63,6 +63,22 @@ The bots `controlBrowser` tool posts commands to `BROWSER_CONTROL_URL`, so
"네이버에서 X 검색", "구글로 돌아가" etc. drive the **browser hosts** Chrome with real
human-style input (visible on its VNC).
### External Ollama (LLM on a separate host)
To run Ollama on a different LAN machine (e.g. a dedicated GPU host at
`192.168.10.9`) instead of inside this stack:
```
# .env on the app host
OLLAMA_BASE_URL=http://192.168.10.9:11434
```
Then start the app WITHOUT the in-stack LLM services: `docker compose up -d javis`
(do not `docker compose up -d`, which would also start `ollama`/`ollama-init`).
On the LLM host, make Ollama listen on the LAN (`OLLAMA_HOST=0.0.0.0:11434`) and
pull the models there (`ollama pull <chat>`, `<intent>`, `<embed>`). The compose
respects `OLLAMA_BASE_URL`, defaulting to the in-stack `ollama` service when unset.
## Windows 11 notes
- Install the NVIDIA driver on Windows and enable GPU in Docker Desktop