From 24d2a55f9e35ddba6911f83bc1797eec277da6d5 Mon Sep 17 00:00:00 2001 From: Erich Blume Date: Wed, 11 Feb 2026 17:49:33 -0800 Subject: [PATCH] Restore Docker CLI to runner image for Dagger engine (#164) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Dagger shells out to the `docker` binary to provision its BuildKit engine container - Phase 3 removed `docker-ce-cli`, breaking all `dagger call` invocations in CI - This restores `docker-ce-cli` (without buildx/skopeo — those aren't needed) ## Test plan - [ ] Build locally, release as v3.0.2, update manifest, sync - [ ] Trigger docs build workflow and verify Dagger engine starts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/164 --- containers/forgejo-runner/Dockerfile | 11 ++++++++++- docs/changelog.d/fix-runner-docker-cli.bugfix.md | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 docs/changelog.d/fix-runner-docker-cli.bugfix.md diff --git a/containers/forgejo-runner/Dockerfile b/containers/forgejo-runner/Dockerfile index 1661db9..e333401 100644 --- a/containers/forgejo-runner/Dockerfile +++ b/containers/forgejo-runner/Dockerfile @@ -4,7 +4,7 @@ # The host runner daemon creates containers from this image to run workflow steps. # # Build logic (container images, docs site) runs inside Dagger containers, -# so this image only needs: git, Dagger CLI, ArgoCD CLI, uv, and basic tools. +# so this image only needs: git, Docker CLI, Dagger CLI, ArgoCD CLI, uv, and basic tools. # # Usage: Configure runner with label like: # docker:docker://registry.ops.eblu.me/blumeops/forgejo-runner:latest @@ -29,6 +29,15 @@ RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \ && rm -rf /var/lib/apt/lists/* \ && node --version +# Install Docker CLI (Dagger shells out to `docker` to provision its engine) +RUN install -m 0755 -d /etc/apt/keyrings \ + && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ + && chmod a+r /etc/apt/keyrings/docker.asc \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" > /etc/apt/sources.list.d/docker.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends docker-ce-cli \ + && rm -rf /var/lib/apt/lists/* + # Install uv (Python package runner for towncrier) RUN curl -LsSf https://astral.sh/uv/install.sh | sh \ && mv /root/.local/bin/uv /usr/local/bin/uv \ diff --git a/docs/changelog.d/fix-runner-docker-cli.bugfix.md b/docs/changelog.d/fix-runner-docker-cli.bugfix.md new file mode 100644 index 0000000..8f8a6af --- /dev/null +++ b/docs/changelog.d/fix-runner-docker-cli.bugfix.md @@ -0,0 +1 @@ +Restore Docker CLI to Forgejo runner image — Dagger shells out to ``docker`` to provision its BuildKit engine.