diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-03-18 23:56:34 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-03-18 23:56:34 +0000 |
| commit | 599a26d556df52b364b5b540762a521d22eb5b7b (patch) | |
| tree | 740c141c52764604fc8d4c036733e5f47368b26a /images/agent-base/Dockerfile | |
| parent | 0db05b0fa6de318f164a1d73ddc55db9c59f1fc3 (diff) | |
| parent | 7df4f06ae0e3ae80bd967bf53cbec36e58b4a3bd (diff) | |
Merge feat/container-execution into master
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'images/agent-base/Dockerfile')
| -rw-r--r-- | images/agent-base/Dockerfile | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/images/agent-base/Dockerfile b/images/agent-base/Dockerfile new file mode 100644 index 0000000..0e8057c --- /dev/null +++ b/images/agent-base/Dockerfile @@ -0,0 +1,58 @@ +# Claudomator Agent Base Image +FROM ubuntu:24.04 + +ENV DEBIAN_FRONTEND=noninteractive + +# Base system tools +RUN apt-get update && apt-get install -y \ + git \ + curl \ + make \ + wget \ + sqlite3 \ + jq \ + sudo \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# Node.js 22 via NodeSource +RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ + && apt-get install -y nodejs \ + && rm -rf /var/lib/apt/lists/* + +# Go 1.24 +RUN wget -q https://go.dev/dl/go1.24.1.linux-amd64.tar.gz && \ + tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz && \ + rm go1.24.1.linux-amd64.tar.gz +ENV PATH=$PATH:/usr/local/go/bin + +# Claude Code CLI +RUN npm install -g @anthropic-ai/claude-code + +# Gemini CLI +RUN npm install -g @google/gemini-cli + +# CSS build tools (for claudomator itself) +RUN npm install -g postcss-cli tailwindcss autoprefixer + +# Git: allow operations on any directory (agents clone into /workspace/*) +RUN git config --system safe.directory '*' + +# Claudomator agent CLI tools (ct) +COPY tools/ct /usr/local/bin/ct +RUN chmod +x /usr/local/bin/ct + +# Setup workspace +WORKDIR /workspace + +# Agent user with passwordless sudo +RUN useradd -m claudomator-agent && \ + echo "claudomator-agent ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers + +USER claudomator-agent + +# Create a default empty config to satisfy the CLI if no mount is provided +RUN mkdir -p /home/claudomator-agent/.claude && \ + echo '{}' > /home/claudomator-agent/.claude.json + +CMD ["/bin/bash"] |
