FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ python3 python3-pip \ docker.io \ iptables \ curl \ ca-certificates \ && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* RUN npm install -g @anthropic-ai/claude-code RUN pip3 install --no-cache-dir \ numpy scipy sympy \ jax optax \ scikit-learn numba \ pandas matplotlib plotly \ networkx cvxpy autograd pymoo \ PyWavelets \ && pip3 install --no-cache-dir \ torch --extra-index-url https://download.pytorch.org/whl/cpu # Non-root user: Claude Code refuses --dangerously-skip-permissions as root. # Added to docker group for DinD mode. RUN useradd -m -s /bin/bash -G docker claude COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh WORKDIR /workspace ENTRYPOINT ["/entrypoint.sh"]