39 lines
1.5 KiB
Docker
Executable File
39 lines
1.5 KiB
Docker
Executable File
FROM git.abutili.net/images/base:latest
|
|
|
|
USER root
|
|
|
|
ARG VERSION=dev
|
|
ARG VCS_REF=unknown
|
|
ARG BUILD_DATE=unknown
|
|
ARG NODE_VERSION=24.14.1
|
|
|
|
LABEL org.opencontainers.image.title="act-base" \
|
|
org.opencontainers.image.version="${VERSION}" \
|
|
org.opencontainers.image.revision="${VCS_REF}" \
|
|
org.opencontainers.image.created="${BUILD_DATE}" \
|
|
org.opencontainers.image.source="https://git.abutili.net/images/act-base"
|
|
|
|
# install system deps and docker cli
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
jq xz-utils git openssh-client ca-certificates curl gnupg \
|
|
&& mkdir -p /etc/apt/keyrings \
|
|
&& . /etc/os-release \
|
|
&& curl -fsSL "https://download.docker.com/linux/${ID}/gpg" | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
|
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/${ID} ${VERSION_CODENAME} stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
|
&& apt-get update && apt-get install -y --no-install-recommends \
|
|
docker-ce-cli docker-buildx-plugin docker-compose-plugin \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
ARCH="x64"; \
|
|
curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz"; \
|
|
tar -xJf "node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" -C /usr/local --strip-components=1; \
|
|
rm "node-v${NODE_VERSION}-linux-${ARCH}.tar.xz"; \
|
|
node --version; npm --version
|
|
|
|
# install app
|
|
|
|
# Switch back to the runner user defined in the base image
|
|
USER runner
|