From 74f606459f82ee9c643174571be2e8caa1245a29 Mon Sep 17 00:00:00 2001 From: Adam French Date: Tue, 7 Apr 2026 13:02:06 +0100 Subject: [PATCH] Build gitea-runner with docker CLI installed natively Mounting host docker binary failed due to glibc/musl incompatibility. Instead, extend the act_runner image and install docker-cli and docker-cli-compose via apk. Co-Authored-By: Claude Opus 4.6 --- docker-compose.yml | 6 +++--- gitea-runner/Dockerfile | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 gitea-runner/Dockerfile diff --git a/docker-compose.yml b/docker-compose.yml index 7a046e9..90b6696 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -178,7 +178,9 @@ services: - SYMFONY__ENV__DATABASE_PASSWORD=${POSTGRES_PASSWORD} gitea-runner: - image: gitea/act_runner:latest + build: + context: ./gitea-runner + dockerfile: Dockerfile container_name: "${GITEA_RUNNER_HOST}" environment: GITEA_RUNNER_NAME: ${GITEA_RUNNER_NAME} @@ -190,8 +192,6 @@ services: - ./gitea-runner/config.yaml:/config.yaml - ./gitea-runner/data:/data - /var/run/docker.sock:/var/run/docker.sock # WARNING: Docker socket mount gives container host-level access. Runner is in 'disabled' profile to mitigate risk. - - /usr/bin/docker:/usr/bin/docker:ro - - /usr/lib/docker/cli-plugins:/usr/lib/docker/cli-plugins:ro - /home/adamf/deploy/web_server:/home/adamf/deploy/web_server # Same path on host and container so docker compose bind mounts resolve correctly restart: unless-stopped networks: diff --git a/gitea-runner/Dockerfile b/gitea-runner/Dockerfile new file mode 100644 index 0000000..21998e4 --- /dev/null +++ b/gitea-runner/Dockerfile @@ -0,0 +1,3 @@ +FROM gitea/act_runner:latest + +RUN apk add --no-cache docker-cli docker-cli-compose