# ========================================================================== # claude-code セッションイメージ(事前ビルド版・推奨) # # 既定の values.image.session(node:22-alpine + ブート時インストール)でも # 動作するが、初回起動が遅い。このイメージを CI でビルド・publish し # values.image.session に指定すると、セッションのコールドスタートが数秒に短縮される。 # # ビルド: # docker buildx build --platform linux/amd64,linux/arm64 \ # --build-arg CLAUDE_CODE_VERSION=2.1.259 \ # -f files/Dockerfile.session \ # -t git.cafepieters.com/helmchart/claude-code/session:2.1.259 --push . # ========================================================================== ARG NODE_VERSION=22-alpine FROM node:${NODE_VERSION} ARG CLAUDE_CODE_VERSION="" # git(SSH 込み) / ttyd / bash / 基本ツール。community に ttyd がある。 RUN apk add --no-cache \ bash git openssh-client ca-certificates curl jq less tini \ ttyd \ && update-ca-certificates # Claude Code CLI をグローバル導入(ビルド時のみ root、実行時は read-only でOK) RUN npm install -g --no-fund --no-audit \ "@anthropic-ai/claude-code${CLAUDE_CODE_VERSION:+@${CLAUDE_CODE_VERSION}}" \ && npm cache clean --force # 非 root 実行ユーザー(Helm 側の runAsUser と一致させる: 既定 10001) ARG RUN_UID=10001 RUN adduser -D -u ${RUN_UID} -h /home/claude claude USER ${RUN_UID} ENV HOME=/home/claude ENTRYPOINT ["/sbin/tini", "--"] CMD ["/bin/sh", "/bootstrap/entrypoint.sh"]