44dd80cb58
- Create tool-images/ directory with organized Dockerfile templates - Add base.dockerfile with common dev tools (git, nvim, ranger, tmux, node) - Add code-server.dockerfile with VS Code in browser - Add jupyter.dockerfile with Jupyter Lab - Add opencode.dockerfile with OpenCode agent - Add pi-agent.dockerfile with Pi Coding Agent (pi.dev) - All images include: git, neovim, ranger, tmux, htop, tree, jq, Node.js 20 - Add README with usage instructions
53 lines
1.3 KiB
Docker
53 lines
1.3 KiB
Docker
# Pi Coding Agent - Terminal-based coding harness
|
|
FROM ubuntu:24.04
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install base dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
wget \
|
|
git \
|
|
neovim \
|
|
ranger \
|
|
tmux \
|
|
htop \
|
|
tree \
|
|
jq \
|
|
ca-certificates \
|
|
python3 \
|
|
python3-pip \
|
|
build-essential \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Node.js (required for Pi)
|
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
|
|
&& apt-get install -y nodejs \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Pi Coding Agent globally
|
|
RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent
|
|
|
|
# Create non-root user
|
|
RUN useradd -m -s /bin/bash user
|
|
WORKDIR /home/user
|
|
|
|
# Set up git
|
|
RUN git config --global init.defaultBranch main \
|
|
&& git config --global user.email "dev@headquarter.local" \
|
|
&& git config --global user.name "Developer"
|
|
|
|
# Create default tmux config
|
|
RUN echo 'set -g mouse on\nset -g default-terminal "screen-256color"' > /home/user/.tmux.conf
|
|
|
|
# Create default ranger config
|
|
RUN mkdir -p /home/user/.config/ranger \
|
|
&& echo 'set preview_files true\nset use_preview_script true' > /home/user/.config/ranger/rc.conf
|
|
|
|
# Set up Pi config directory
|
|
RUN mkdir -p /home/user/.pi/agent
|
|
|
|
USER user
|
|
|
|
# Default to bash (Pi is invoked manually via `pi` command)
|
|
CMD ["/bin/bash"] |