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

@@ -66,8 +66,13 @@ services:
- path: .env
required: false
environment:
# Point the brain at the ollama service and the bot at the in-container bridge.
OLLAMA_BASE_URL: http://ollama:11434
# Point the brain at Ollama. Default is the in-stack `ollama` service
# (all-in-one). Override OLLAMA_BASE_URL in .env to reach an EXTERNAL Ollama
# over the LAN (e.g. a GPU host at http://192.168.10.9:11434) — used when
# this stack runs on a separate machine from the LLM. When overridden, do
# NOT start the in-stack `ollama`/`ollama-init` services (bring the app up
# with `docker compose up -d javis`) and pull the models on the LLM host.
OLLAMA_BASE_URL: ${OLLAMA_BASE_URL:-http://ollama:11434}
OLLAMA_CHAT_MODEL: ${OLLAMA_CHAT_MODEL:-qwen2.5:3b}
# Auxiliary small-model calls (intent judge, tool router, arg extraction,
# query decomposition) run on this fast model so the big chat model only
@@ -112,7 +117,7 @@ services:
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).
# set CDP_HOST to the browser host's LAN IP (e.g. 192.168.10.5).
CDP_HOST: ${CDP_HOST:-127.0.0.1}
# Browser-control endpoint. The browser host serves it (BIND/PORT); a
# remote bot sets BROWSER_CONTROL_URL=http://<browser-host>:8777 so its