From 1b141b200c99e152bd8e6c0744c20d9e9278ac4b Mon Sep 17 00:00:00 2001 From: docker-claude Date: Wed, 15 Apr 2026 19:18:39 +0200 Subject: [PATCH] use new native install --- build.sh | 0 claude/Dockerfile | 39 ++++++++++++++++++++------------------- hooks/pre-commit | 0 3 files changed, 20 insertions(+), 19 deletions(-) mode change 100644 => 100755 build.sh mode change 100644 => 100755 hooks/pre-commit diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 diff --git a/claude/Dockerfile b/claude/Dockerfile index a31c92b..9c6e086 100644 --- a/claude/Dockerfile +++ b/claude/Dockerfile @@ -2,22 +2,22 @@ FROM node:20-alpine # Install runtime dependencies RUN apk add --no-cache \ - git \ - curl \ - ca-certificates \ - bash \ - ttyd + git \ + curl \ + ca-certificates \ + bash \ + ttyd # Install kubectl — architecture-aware, checksum-verified RUN KUBECTL_VERSION=$(curl -fsSL https://dl.k8s.io/release/stable.txt) \ - && ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') \ - && curl -fsSL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl" \ - -o /usr/local/bin/kubectl \ - && curl -fsSL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl.sha256" \ - -o /tmp/kubectl.sha256 \ - && echo "$(cat /tmp/kubectl.sha256) /usr/local/bin/kubectl" | sha256sum -c \ - && rm /tmp/kubectl.sha256 \ - && chmod +x /usr/local/bin/kubectl + && ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') \ + && curl -fsSL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl" \ + -o /usr/local/bin/kubectl \ + && curl -fsSL "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl.sha256" \ + -o /tmp/kubectl.sha256 \ + && echo "$(cat /tmp/kubectl.sha256) /usr/local/bin/kubectl" | sha256sum -c \ + && rm /tmp/kubectl.sha256 \ + && chmod +x /usr/local/bin/kubectl # Entrypoint used by the webui service (ttyd wrapping claude) COPY --chmod=755 webui-entrypoint.sh /usr/local/bin/webui-entrypoint.sh @@ -27,21 +27,22 @@ COPY --chmod=755 webui-entrypoint.sh /usr/local/bin/webui-entrypoint.sh COPY settings.json /etc/claude-code/managed-settings.json # Install Claude Code globally -RUN npm install -g @anthropic-ai/claude-code +RUN curl -fsSL https://claude.ai/install.sh | bash + # Install MCP servers globally — entry points land in /usr/local/lib/node_modules/ RUN npm install -g \ - @modelcontextprotocol/server-github \ - @yoda.digital/gitlab-mcp-server \ - @aashari/mcp-server-atlassian-jira \ - @aashari/mcp-server-atlassian-confluence + @modelcontextprotocol/server-github \ + @yoda.digital/gitlab-mcp-server \ + @aashari/mcp-server-atlassian-jira \ + @aashari/mcp-server-atlassian-confluence # Workspace and Claude config dir — owned by the built-in node user (uid 1000). # Pre-creating ~/.claude ensures the named volume is initialised with the # correct ownership when first mounted (Docker copies image content into # an empty named volume on first use). RUN mkdir -p /workspace /home/node/.claude \ - && chown -R node:node /workspace /home/node/.claude + && chown -R node:node /workspace /home/node/.claude USER node WORKDIR /workspace diff --git a/hooks/pre-commit b/hooks/pre-commit old mode 100644 new mode 100755