diff --git a/container/Dockerfile b/container/Dockerfile index e8537c3e3..32ae1a02c 100644 --- a/container/Dockerfile +++ b/container/Dockerfile @@ -49,12 +49,13 @@ COPY agent-runner/ ./ RUN npm run build # Create workspace directories -RUN mkdir -p /workspace/group /workspace/global /workspace/extra /workspace/ipc/messages /workspace/ipc/tasks /workspace/ipc/input +RUN mkdir -p /workspace/group /workspace/global /workspace/extra -# Create entrypoint script -# Container input (prompt, group info) is passed via stdin JSON. -# Credentials are injected by the host's credential proxy — never passed here. -# Follow-up messages arrive via IPC files in /workspace/ipc/input/ +# Create entrypoint script. +# The host mounts container/agent-runner/src at /app/src and the entrypoint +# recompiles on startup — this lets host source edits and skill installs +# take effect without rebuilding the image. All IO goes through the session +# DBs (inbound.db / outbound.db) mounted into /workspace. RUN printf '#!/bin/bash\nset -e\ncd /app && npx tsc --outDir /tmp/dist 2>&1 >&2\nln -s /app/node_modules /tmp/dist/node_modules\nchmod -R a-w /tmp/dist\ncat > /tmp/input.json\nnode /tmp/dist/index.js < /tmp/input.json\n' > /app/entrypoint.sh && chmod +x /app/entrypoint.sh # Set ownership to node user (non-root) for writable directories