FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive # --------------------------------------------------------- # Base dependencies # --------------------------------------------------------- RUN apt-get update && apt-get install -y \ tini \ curl \ wget \ jq \ bash \ tar \ rsync \ rclone \ ansible \ openssh-client \ iptables \ uidmap \ slirp4netns \ fuse-overlayfs \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # --------------------------------------------------------- # Install ACT Runner # --------------------------------------------------------- RUN curl -L https://dl.gitea.com/act_runner/0.6.0/act_runner-0.6.0-linux-amd64 \ -o /usr/local/bin/act_runner && \ chmod +x /usr/local/bin/act_runner # --------------------------------------------------------- # Install kubectl # --------------------------------------------------------- RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" && \ chmod +x kubectl && mv kubectl /usr/local/bin/ # --------------------------------------------------------- # Install Helm # --------------------------------------------------------- RUN HELM_VERSION=$(curl -s https://api.github.com/repos/helm/helm/releases/latest | jq -r .tag_name) && \ curl -fsSL https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz -o helm.tar.gz && \ tar -zxvf helm.tar.gz && \ mv linux-amd64/helm /usr/local/bin/helm && \ rm -rf linux-amd64 helm.tar.gz # --------------------------------------------------------- # Install BuildKit (buildkitd + buildctl) # --------------------------------------------------------- ENV BUILDKIT_VERSION=v0.28.0 RUN curl -L "https://github.com/moby/buildkit/releases/download/${BUILDKIT_VERSION}/buildkit-${BUILDKIT_VERSION}.linux-amd64.tar.gz" \ | tar -xz -C /usr/local/bin --strip-components=1 # --------------------------------------------------------- # Install rootlesskit (required for BuildKit rootless) # --------------------------------------------------------- RUN curl -L https://github.com/rootless-containers/rootlesskit/releases/download/v1.1.1/rootlesskit-x86_64.tar.gz \ | tar -xz -C /usr/local/bin # --------------------------------------------------------- # Default entrypoint # --------------------------------------------------------- ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/act_runner"] CMD ["daemon", "--config", "/etc/act_runner/config.yaml"]