25 lines
991 B
Docker
25 lines
991 B
Docker
# claudio — minimal image for running Claude Code in isolation.
|
|
# Rebuild with `claudio update` to get the latest base packages and Claude Code.
|
|
FROM docker.io/library/debian:stable-slim
|
|
|
|
# Base tools Claude Code relies on. Add project-wide tools here (python3, nodejs, ...).
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates curl git ripgrep less procps openssh-client \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& useradd -m -u 1000 -s /bin/bash claude
|
|
|
|
# Native Claude Code binary, installed system-wide (not in $HOME) so that image
|
|
# rebuilds update it even though /home/claude is a persistent volume.
|
|
RUN curl -fsSL https://claude.ai/install.sh | HOME=/tmp/cc bash \
|
|
&& cp -L /tmp/cc/.local/bin/claude /usr/local/bin/claude \
|
|
&& rm -rf /tmp/cc
|
|
|
|
# Updates come from rebuilding the image, not from in-container self-updates.
|
|
ENV DISABLE_AUTOUPDATER=1 \
|
|
PATH=/home/claude/.local/bin:$PATH
|
|
|
|
USER claude
|
|
WORKDIR /home/claude
|
|
ENTRYPOINT ["claude"]
|