ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=24.04 |
ADD file:5601f441718b0d192d73394b35fd07675342837ec9089ddd52dd1dc0de79630e in / |
CMD ["/bin/bash"] |
ARG type=full |
ENV CONTAINER=shivammathur/node |
ENV DEBIAN_FRONTEND=noninteractive |
ENV NODE_VERSION=20.15.1 |
ENV NODE_VERSION_x86=16.20.2 |
ENV YARN_VERSION=1.22.19 |
ENV RUNNER_TOOL_PATH=/opt/hostedtoolcache |
ENV RUNNER_TOOL_CACHE=/opt/hostedtoolcache |
ENV GITHUB_ENV=/tmp/set_env |
ENV GITHUB_PATH=/tmp/add_path |
ENV runner=self-hosted |
RUN |1 type=full /bin/sh -c ARCH= && MULTILIB= && PREFIX='www' && URLPATH='dist' && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; i386) ARCH='x86'; MULTILIB='gcc-multilib'; PREFIX='unofficial-builds'; URLPATH='download/release'; NODE_VERSION=$NODE_VERSION_x86;; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && echo "" | tee "$GITHUB_ENV" "$GITHUB_PATH" && mkdir -p "$RUNNER_TOOL_CACHE" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 $MULTILIB --no-install-recommends && rm -rf /var/lib/apt/lists/* && curl -fsSLO --compressed "https://$PREFIX.nodejs.org/$URLPATH/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 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -o /usr/local/bin/spc -sL https://github.com/shivammathur/spc/releases/latest/download/spc && curl -o /usr/local/bin/systemctl -sL https://raw.githubusercontent.com/shivammathur/node-docker/main/systemctl-shim && chmod a+x /usr/local/bin/spc /usr/local/bin/systemctl && apt-mark auto '.*' > /dev/null && apt-mark manual curl libatomic1 $MULTILIB && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && spc -V # buildkit |
RUN |1 type=full /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr make sudo --no-install-recommends && rm -rf /var/lib/apt/lists/* && curl -fsSLO --compressed "https://github.com/yarnpkg/yarn/releases/download/v$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && mkdir -p /opt /opt/hostedtoolcache && chmod -R 777 /opt/hostedtoolcache && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz && apt-mark auto '.*' > /dev/null && apt-mark manual ca-certificates sudo make && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version # buildkit |
RUN |1 type=full /bin/sh -c if [ "$type" = "full" ]; then set -ex && savedAptMark="$(apt-mark showmanual)" && apt-mark auto '.*' > /dev/null && apt-get update && apt-get install -y --no-install-recommends curl gnupg jq lsb-release mysql-server postgresql software-properties-common unzip && usermod -d /var/lib/mysql/ mysql && add-apt-repository ppa:git-core/ppa -y && LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php && LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/apache2 && apt-get remove software-properties-common -y && install -m 0755 -d /etc/apt/keyrings && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && chmod a+r /etc/apt/keyrings/docker.gpg && echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && apt-get update && cp -r /etc/apt/sources.list.d /etc/apt/sources.list.d.save && for v in 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3; do apt-get install -y --no-install-recommends php"$v" php"$v"-dev php"$v"-curl php"$v"-mbstring php"$v"-xml php"$v"-intl php"$v"-mysql php"$v"-pgsql php"$v"-zip; done && curl -o /usr/bin/systemctl -sL https://raw.githubusercontent.com/shivammathur/node-docker/main/systemctl-shim && chmod a+x /usr/bin/systemctl && curl -o /usr/lib/ssl/cert.pem -sL https://curl.se/ca/cacert.pem && curl -o /tmp/pear.phar -sL https://raw.githubusercontent.com/pear/pearweb_phars/master/install-pear-nozlib.phar && php /tmp/pear.phar && sudo rm -f /tmp/pear.phar && apt-get install -y --no-install-recommends autoconf automake gcc g++ git && apt-get install -y --no-install-recommends docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && for v in 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3; do apt-get install -y --no-install-recommends php"$v"-xdebug 2>/dev/null || (spc -p "$v" -e xdebug-xdebug/xdebug@master -r verbose) && apt-get install -y --no-install-recommends php"$v"-imagick 2>/dev/null || (IMAGICK_LIBS=libmagickwand-dev spc -p "$v" -e imagick-imagick/imagick@master -r verbose); done && for tool in php phar phar.phar php-cgi php-config phpize phpdbg; do { [ -e /usr/bin/"$tool"8.3 ] && sudo update-alternatives --set $tool /usr/bin/"$tool"8.3 || true; } done && rm -rf /var/lib/apt/lists/* && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { print $(NF-1) }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && gcc --version && g++ --version && git --version && docker --version && php5.6 -v && php7.0 -v && php7.1 -v && php7.2 -v && php7.3 -v && php7.4 -v && php8.0 -v && php8.1 -v && php8.2 -v && php8.3 -v && php -v; fi # buildkit |
CMD ["/bin/bash"] |
RUN /bin/sh -c apt-get update && apt-get upgrade # buildkit |
RUN /bin/sh -c apt-get install openssh-client -y # buildkit |