68 lines
2.5 KiB
Docker
68 lines
2.5 KiB
Docker
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
|
|
# ---------------------------------------------------------
|
|
|
|
WORKDIR /data
|
|
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/act_runner"]
|
|
CMD ["daemon", "--config", "/etc/act_runner/config.yaml"] |