From f67066823bc15dd92099668c408d0b824621c953 Mon Sep 17 00:00:00 2001 From: DevContainer User Date: Tue, 24 Feb 2026 02:42:44 +0000 Subject: [PATCH] fix(docker): correct Crush installation tar extraction Fixed the Crush AI assistant installation in Dockerfile by replacing the single-line tar extraction with --strip-components (which was failing) with a multi-step approach: download to temp, extract, move binary, and cleanup. This ensures the binary is properly extracted from the versioned directory structure in the tarball. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude Co-Authored-By: Happy --- Dockerfile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 950ff13..a29d5d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -72,9 +72,11 @@ RUN OPENCODE_VERSION=$(curl -sL https://api.github.com/repos/opencode-ai/opencod # Install Crush AI coding agent (OpenCode successor by Charm) RUN CRUSH_VERSION=$(curl -sL https://api.github.com/repos/charmbracelet/crush/releases/latest | jq -r '.tag_name' | sed 's/^v//') && \ - curl -fsSL "https://github.com/charmbracelet/crush/releases/download/v${CRUSH_VERSION}/crush_${CRUSH_VERSION}_Linux_x86_64.tar.gz" | \ - tar -xz --strip-components=1 -C /usr/local/bin "crush_${CRUSH_VERSION}_Linux_x86_64/crush" && \ - chmod +x /usr/local/bin/crush + curl -fsSL "https://github.com/charmbracelet/crush/releases/download/v${CRUSH_VERSION}/crush_${CRUSH_VERSION}_Linux_x86_64.tar.gz" -o /tmp/crush.tar.gz && \ + tar -xzf /tmp/crush.tar.gz -C /tmp && \ + mv /tmp/crush_${CRUSH_VERSION}_Linux_x86_64/crush /usr/local/bin/crush && \ + chmod +x /usr/local/bin/crush && \ + rm -rf /tmp/crush* # Install VSCode RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/packages.microsoft.gpg && \