diff --git a/.gitea/runners/Dockerfile b/.gitea/runners/Dockerfile index 55b0e70..30354bd 100644 --- a/.gitea/runners/Dockerfile +++ b/.gitea/runners/Dockerfile @@ -1,15 +1,18 @@ FROM node:22-bullseye +# Install Docker CLI + Compose V2 plugin from Docker's official apt repo +# (Debian's own docker.io package ships an outdated Docker version and +# does not include the compose plugin at all). RUN apt-get update \ - && apt-get install -y docker.io curl \ + && apt-get install -y ca-certificates curl gnupg \ + && 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 bullseye stable" \ + | tee /etc/apt/sources.list.d/docker.list > /dev/null \ + && apt-get update \ + && apt-get install -y docker-ce-cli docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* -RUN corepack enable - -# Install Docker Compose V2 as a CLI plugin (docker.io package does not -# include it, and the npm "docker-compose" package is an unrelated -# legacy wrapper that does not provide the `docker compose` subcommand). -RUN mkdir -p /usr/libexec/docker/cli-plugins \ - && curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64" \ - -o /usr/libexec/docker/cli-plugins/docker-compose \ - && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ No newline at end of file +RUN corepack enable \ No newline at end of file