This commit is contained in:
Luke
2025-07-30 20:04:13 +03:00
commit d1c5635544
10 changed files with 554 additions and 0 deletions

59
Dockerfile Normal file
View File

@@ -0,0 +1,59 @@
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"]