Files
claude-loop/Dockerfile
2025-07-30 21:34:33 +03:00

60 lines
1.2 KiB
Docker

FROM node:18-alpine
# Install system dependencies
RUN apk add --no-cache \
git \
curl \
bash \
vim \
nano \
openssh-client \
python3 \
py3-pip \
build-base \
ca-certificates \
jq
# Set working directory to existing node user's home
WORKDIR /home/node
# Install Claude Code
RUN npm install -g @anthropic-ai/claude-code
# Install additional development tools
RUN npm install -g \
typescript \
ts-node \
nodemon \
prettier \
eslint
# Install gemini-cli
RUN npm install -g @google/gemini-cli
# Create necessary directories for node user
RUN mkdir -p /home/node/.claude \
/home/node/.config \
/home/node/.ssh \
/home/node/logs
# Copy claude-loop script
COPY claude-loop.sh /usr/local/bin/claude-loop
RUN chmod +x /usr/local/bin/claude-loop
# Set ownership of node user directories
RUN chown -R node:node /home/node
# Switch to node user
USER node
RUN curl -fsSL https://bun.sh/install | bash
# Set environment variables for Claude Code
ENV TERM=xterm-256color
ENV COLORTERM=truecolor
ENV NODE_ENV=development
ENV PATH="/home/node/.bun/bin:$PATH"
# Default command
CMD ["claude"]