Files
WeKnora/docker/Dockerfile.sandbox
T

31 lines
1.1 KiB
Docker

# WeKnora Sandbox Image
# Pre-built environment for executing agent skill scripts in Docker sandbox
# Multi-stage build, minimal dependencies
# Stage 1: Get Node.js binaries
FROM node:20-slim AS node-base
# Stage 2: Final image
FROM python:3.11-slim
# Copy Node.js from node image (avoids NodeSource install overhead)
COPY --from=node-base /usr/local/bin/node /usr/local/bin/
COPY --from=node-base /usr/local/lib/node_modules /usr/local/lib/node_modules
RUN ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
ln -s /usr/local/lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx
# Install minimal CLI tools (bash/grep/sed/coreutils already in slim image)
RUN apt-get update && apt-get install -y --no-install-recommends \
jq \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
# Note: Current preloaded skills only use Python stdlib
# Add packages here when skills actually need them:
# Create non-root user (UID 1000) for sandbox execution
RUN groupadd -g 1000 sandbox && \
useradd -u 1000 -g sandbox -m -s /bin/bash sandbox
WORKDIR /workspace
USER sandbox