- bind $LVMH_HOST_PI_RUNTIME_DIR/spawn-pi -> /root/.pi/spawn-pi (rw) so container pi's join the host pi's node mesh (spawn_pi/list_pi_nodes/ send_pi_message now reach across the host/container boundary) - bind host models.json (when present) over the stale image-baked fallback so newly added catalog models resolve in spawns
51 lines
2.0 KiB
YAML
51 lines
2.0 KiB
YAML
# lvmh daemon + worker builder context. Build worker image first (make worker-image).
|
|
services:
|
|
lvmh:
|
|
build:
|
|
context: .
|
|
dockerfile: daemon/Dockerfile
|
|
image: lvmh-daemon:latest
|
|
container_name: lvmh-daemon
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8686:8686"
|
|
environment:
|
|
LVMH_TOKEN: ${LVMH_TOKEN}
|
|
ZAI_RENAUD_API_KEY: ${ZAI_RENAUD_API_KEY}
|
|
# How spawned containers reach the daemon: alias on the shared network.
|
|
LVMH_CONTAINER_LVMH_URL: ws://lvmh:8686/agent/ws
|
|
GITLAB_BASE_URL: https://git.westphal.fr
|
|
# host path of the pi config, so spawned containers can bind auth.json
|
|
# docker.sock bind semantics: bind sources resolve on the HOST, so
|
|
# this must be the HOST path of the pi config (auth.json etc.).
|
|
LVMH_HOST_PI_AGENT_DIR: ${LVMH_PI_AGENT_DIR:-/home/alarm/.dotfiles/pi/agent}
|
|
# host pi runtime dir (spawn-pi mesh: nodes + sockets), shared rw with
|
|
# spawned containers so host pi and container pi's form one mesh
|
|
LVMH_HOST_PI_RUNTIME_DIR: ${LVMH_PI_RUNTIME_DIR:-/home/alarm/.pi}
|
|
LVMH_SECRETS_DIR: /zdata/root/lvmh-secrets
|
|
LVMH_CLOAK_CACHE_DIR: /home/alarm/.cloakbrowser
|
|
LVMH_PLAYWRIGHT_CACHE_DIR: /home/alarm/.cache/ms-playwright
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
|
GEMINI_API_KEY: ${GEMINI_API_KEY:-}
|
|
DEEPSEEK_KEY: ${DEEPSEEK_KEY:-}
|
|
ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-}
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- lvmh-data:/data
|
|
- .:/app/build:ro # repo checkout (rsynced by deploy.sh)
|
|
# daemon rebuilds lvmh-worker from /app/build/docker/worker.Dockerfile
|
|
- ./web/dist:/app/web-dist:ro # web UI served from repo checkout
|
|
- ${LVMH_PI_AGENT_DIR:-/home/raph/.dotfiles/pi/agent}:/pi-dotfiles:ro
|
|
# read-only user pi config; POST /api/pi-config/resync bakes it into
|
|
# fresh worker+ops images
|
|
networks:
|
|
lvmh-net:
|
|
aliases: [lvmh]
|
|
|
|
volumes:
|
|
lvmh-data:
|
|
|
|
networks:
|
|
lvmh-net:
|
|
name: lvmh-net
|