mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			69 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy as build
 | 
						|
 | 
						|
ARG TARGETOS
 | 
						|
ARG TARGETARCH
 | 
						|
ARG DOCKER_VERSION=27.5.1
 | 
						|
ARG BUILDX_VERSION=0.20.1
 | 
						|
ARG RUNNER_ARCH="x64"
 | 
						|
 | 
						|
RUN apt update -y && apt install sudo curl unzip -y
 | 
						|
 | 
						|
WORKDIR /actions-runner
 | 
						|
 | 
						|
RUN RUNNER_VERSION=$(curl -s https://api.github.com/repos/actions/runner/releases/latest | grep "tag_name" | head -n 1 | awk '{print substr($2, 3, length($2)-4)}') \
 | 
						|
    && curl -f -L -o runner.tar.gz https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-linux-${RUNNER_ARCH}-${RUNNER_VERSION}.tar.gz \
 | 
						|
    && tar xzf ./runner.tar.gz \
 | 
						|
    && rm runner.tar.gz
 | 
						|
 | 
						|
RUN RUNNER_CONTAINER_HOOKS_VERSION=$(curl -s https://api.github.com/repos/actions/runner-container-hooks/releases/latest | grep "tag_name" | head -n 1 | awk '{print substr($2, 3, length($2)-4)}') \
 | 
						|
    && curl -f -L -o runner-container-hooks.zip https://github.com/actions/runner-container-hooks/releases/download/v${RUNNER_CONTAINER_HOOKS_VERSION}/actions-runner-hooks-k8s-${RUNNER_CONTAINER_HOOKS_VERSION}.zip \
 | 
						|
    && unzip ./runner-container-hooks.zip -d ./k8s \
 | 
						|
    && rm runner-container-hooks.zip
 | 
						|
 | 
						|
RUN export RUNNER_ARCH=${TARGETARCH} \
 | 
						|
    && if [ "$RUNNER_ARCH" = "amd64" ]; then export DOCKER_ARCH=x86_64 ; fi \
 | 
						|
    && if [ "$RUNNER_ARCH" = "arm64" ]; then export DOCKER_ARCH=aarch64 ; fi \
 | 
						|
    && curl -fLo docker.tgz https://download.docker.com/${TARGETOS}/static/stable/${DOCKER_ARCH}/docker-${DOCKER_VERSION}.tgz \
 | 
						|
    && tar zxvf docker.tgz \
 | 
						|
    && rm -rf docker.tgz \
 | 
						|
    && mkdir -p /usr/local/lib/docker/cli-plugins \
 | 
						|
    && curl -fLo /usr/local/lib/docker/cli-plugins/docker-buildx \
 | 
						|
        "https://github.com/docker/buildx/releases/download/v${BUILDX_VERSION}/buildx-v${BUILDX_VERSION}.linux-${TARGETARCH}" \
 | 
						|
    && chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx
 | 
						|
 | 
						|
FROM mcr.microsoft.com/dotnet/runtime-deps:8.0-jammy
 | 
						|
 | 
						|
ENV DEBIAN_FRONTEND=noninteractive
 | 
						|
ENV RUNNER_MANUALLY_TRAP_SIG=1
 | 
						|
ENV ACTIONS_RUNNER_PRINT_LOG_TO_STDOUT=1
 | 
						|
ENV ImageOS=ubuntu22
 | 
						|
 | 
						|
RUN apt update -y \
 | 
						|
    && apt install -y --no-install-recommends sudo lsb-release gpg-agent software-properties-common curl jq unzip \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
RUN add-apt-repository ppa:git-core/ppa \
 | 
						|
    && apt update -y \
 | 
						|
    && apt install -y git \
 | 
						|
    && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
RUN adduser --disabled-password --gecos "" --uid 1001 runner \
 | 
						|
    && groupadd docker --gid 123 \
 | 
						|
    && usermod -aG sudo runner \
 | 
						|
    && usermod -aG docker runner \
 | 
						|
    && echo "%sudo   ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers \
 | 
						|
    && echo "Defaults env_keep += \"DEBIAN_FRONTEND\"" >> /etc/sudoers
 | 
						|
 | 
						|
# Install own dependencies in final image
 | 
						|
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
 | 
						|
    && apt-get install -y nodejs \
 | 
						|
    && apt-get install -y gh jq git
 | 
						|
 | 
						|
WORKDIR /home/runner
 | 
						|
 | 
						|
COPY --chown=runner:docker --from=build /actions-runner .
 | 
						|
COPY --from=build /usr/local/lib/docker/cli-plugins/docker-buildx /usr/local/lib/docker/cli-plugins/docker-buildx
 | 
						|
RUN install -o root -g root -m 755 docker/* /usr/bin/ && rm -rf docker
 | 
						|
 | 
						|
USER runner
 |