Files
lvmh/docker/worker.Dockerfile
T

24 lines
867 B
Docker

# lvmh worker image: headless pi with golang toolchain, git, ripgrep.
# Built by the daemon on first spawn if missing (LVMH_WORKER_DOCKERFILE),
# or manually via `make worker-image`.
FROM node:24-bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash ca-certificates git ripgrep curl xz-utils \
golang-go \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# lvmh plugin: dial-home mirror (built from plugin/lvmh-agent.ts at image build)
ARG LVMH_PLUGIN=./plugin-placeholder
COPY ${LVMH_PLUGIN} /root/.pi/agent/extensions/lvmh-agent.ts
COPY docker/worker-models.json /root/.pi/agent/models.json
COPY docker/bridge /bridge
# Per-session pi sessions persist here (volume lvmh-sessions)
ENV PI_SESSION_DIR=/pi-sessions
WORKDIR /workspace
CMD ["node", "/bridge/index.mjs"]