diff --git a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile index 7db70c11..1bd020ec 100644 --- a/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind-rootless.ubuntu-20.04.dockerfile @@ -12,6 +12,10 @@ ARG DUMB_INIT_VERSION=1.2.5 ARG DEBUG=false ENV DEBIAN_FRONTEND=noninteractive + +# Use 1001 for compatibility with GitHub-hosted runners +ARG RUNNER_UID=1000 + RUN apt-get update -y \ && apt-get install -y software-properties-common \ && add-apt-repository -y ppa:git-core/ppa \ @@ -54,7 +58,7 @@ RUN apt-get update -y \ && rm -rf /var/lib/apt/lists/* # Runner user -RUN adduser --disabled-password --gecos "" --uid 1000 runner +RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner ENV HOME=/home/runner @@ -98,9 +102,9 @@ RUN cd "$RUNNER_ASSETS_DIR" \ && rm -f runner-container-hooks.zip # Make the rootless runner directory executable -RUN mkdir /run/user/1000 \ - && chown runner:runner /run/user/1000 \ - && chmod a+x /run/user/1000 +RUN mkdir /run/user/$RUNNER_UID \ + && chown runner:runner /run/user/$RUNNER_UID \ + && chmod a+x /run/user/$RUNNER_UID # We place the scripts in `/usr/bin` so that users who extend this image can # override them with scripts of the same name placed in `/usr/local/bin`. @@ -117,8 +121,8 @@ COPY hooks /etc/arc/hooks/ # Add the Python "User Script Directory" to the PATH ENV PATH="${PATH}:${HOME}/.local/bin:/home/runner/bin" ENV ImageOS=ubuntu20 -ENV DOCKER_HOST=unix:///run/user/1000/docker.sock -ENV XDG_RUNTIME_DIR=/run/user/1000 +ENV DOCKER_HOST=unix:///run/user/$RUNNER_UID/docker.sock +ENV XDG_RUNTIME_DIR=/run/user/$RUNNER_UID RUN echo "PATH=${PATH}" > /etc/environment \ && echo "ImageOS=${ImageOS}" >> /etc/environment \ diff --git a/runner/actions-runner-dind.ubuntu-20.04.dockerfile b/runner/actions-runner-dind.ubuntu-20.04.dockerfile index 84608acb..07e04441 100644 --- a/runner/actions-runner-dind.ubuntu-20.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-20.04.dockerfile @@ -9,6 +9,10 @@ ARG DOCKER_VERSION=20.10.18 ARG DOCKER_COMPOSE_VERSION=v2.6.0 ARG DUMB_INIT_VERSION=1.2.5 +# Use 1001 and 121 for compatibility with GitHub-hosted runners +ARG RUNNER_UID=1000 +ARG DOCKER_GID=1001 + ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -y \ && apt-get install -y software-properties-common \ @@ -51,8 +55,8 @@ RUN apt-get update -y \ && rm -rf /var/lib/apt/lists/* # Runner user -RUN adduser --disabled-password --gecos "" --uid 1000 runner \ - && groupadd docker \ +RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner \ + && groupadd docker --gid $DOCKER_GID \ && usermod -aG sudo runner \ && usermod -aG docker runner \ && echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \ diff --git a/runner/actions-runner.ubuntu-20.04.dockerfile b/runner/actions-runner.ubuntu-20.04.dockerfile index e5f755a2..ab45c29a 100644 --- a/runner/actions-runner.ubuntu-20.04.dockerfile +++ b/runner/actions-runner.ubuntu-20.04.dockerfile @@ -9,6 +9,10 @@ ARG DOCKER_VERSION=20.10.18 ARG DOCKER_COMPOSE_VERSION=v2.6.0 ARG DUMB_INIT_VERSION=1.2.5 +# Use 1001 and 121 for compatibility with GitHub-hosted runners +ARG RUNNER_UID=1000 +ARG DOCKER_GID=1001 + ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -y \ && apt-get install -y software-properties-common \ @@ -46,8 +50,8 @@ RUN apt-get update -y \ && ln -sf /usr/bin/pip3 /usr/bin/pip \ && rm -rf /var/lib/apt/lists/* -RUN adduser --disabled-password --gecos "" --uid 1000 runner \ - && groupadd docker \ +RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner \ + && groupadd docker --gid $DOCKER_GID \ && usermod -aG sudo runner \ && usermod -aG docker runner \ && echo "%sudo ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \