FROM ubuntu:22.04 LABEL maintainer="homelab" LABEL description="ubuntu-latest runner image — Node 20 + Docker CLI + git" ENV DEBIAN_FRONTEND=noninteractive ENV NODE_VERSION=20 RUN apt-get update && apt-get install -y --no-install-recommends \ curl \ wget \ git \ ca-certificates \ gnupg \ unzip \ jq \ openssh-client \ && rm -rf /var/lib/apt/lists/* # Node.js 20 LTS RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_VERSION}.x | bash - \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* # Docker CLI only (no daemon) RUN curl -fsSL https://download.docker.com/linux/ubuntu/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/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ > /etc/apt/sources.list.d/docker.list \ && apt-get update \ && apt-get install -y --no-install-recommends docker-ce-cli \ && rm -rf /var/lib/apt/lists/* # Smoke tests RUN node --version && docker --version && git --version