diff --git a/bitnami/node/20/debian-11/Dockerfile b/bitnami/node/20/debian-11/Dockerfile new file mode 100644 index 000000000000..534d6c808253 --- /dev/null +++ b/bitnami/node/20/debian-11/Dockerfile @@ -0,0 +1,51 @@ +FROM docker.io/bitnami/minideb:bullseye + +ARG TARGETARCH + +LABEL com.vmware.cp.artifact.flavor="sha256:109c7d51bd69bb6b3df71017440c1ea0699454f81fe188056c083f0b57c96ea6" \ + org.opencontainers.image.base.name="docker.io/bitnami/minideb:bullseye" \ + org.opencontainers.image.created="2023-04-29T16:56:45Z" \ + org.opencontainers.image.description="Application packaged by VMware, Inc" \ + org.opencontainers.image.licenses="Apache-2.0" \ + org.opencontainers.image.ref.name="20.0.0-debian-11-r0" \ + org.opencontainers.image.title="node" \ + org.opencontainers.image.vendor="VMware, Inc." \ + org.opencontainers.image.version="20.0.0" + +ENV OS_ARCH="${TARGETARCH:-amd64}" \ + OS_FLAVOUR="debian-11" \ + OS_NAME="linux" + +COPY prebuildfs / +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +# Install required system packages and dependencies +RUN install_packages build-essential ca-certificates curl git libbz2-1.0 libcom-err2 libcrypt1 libffi7 libgcc-s1 libgssapi-krb5-2 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 liblzma5 libncursesw6 libnsl2 libreadline8 libsqlite3-0 libsqlite3-dev libssl-dev libssl1.1 libstdc++6 libtinfo6 libtirpc3 pkg-config procps unzip wget zlib1g +RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ + COMPONENTS=( \ + "python-3.9.16-11-linux-${OS_ARCH}-debian-11" \ + "node-20.0.0-0-linux-${OS_ARCH}-debian-11" \ + ) && \ + for COMPONENT in "${COMPONENTS[@]}"; do \ + if [ ! -f "${COMPONENT}.tar.gz" ]; then \ + curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz" -O ; \ + curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz.sha256" -O ; \ + fi && \ + sha256sum -c "${COMPONENT}.tar.gz.sha256" && \ + tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \ + rm -rf "${COMPONENT}".tar.gz{,.sha256} ; \ + done +RUN apt-get update && apt-get upgrade -y && \ + apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives +RUN mkdir /.npm && chmod g+rwX /.npm +RUN sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/' /etc/login.defs && \ + sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 0/' /etc/login.defs && \ + sed -i 's/sha512/sha512 minlen=8/' /etc/pam.d/common-password + +ENV APP_VERSION="20.0.0" \ + BITNAMI_APP_NAME="node" \ + PATH="/opt/bitnami/python/bin:/opt/bitnami/node/bin:$PATH" + +EXPOSE 3000 + +WORKDIR /app +CMD [ "node" ] diff --git a/bitnami/node/20/debian-11/docker-compose.yml b/bitnami/node/20/debian-11/docker-compose.yml new file mode 100644 index 000000000000..f792e20fbeb4 --- /dev/null +++ b/bitnami/node/20/debian-11/docker-compose.yml @@ -0,0 +1,11 @@ +version: '2' + +services: + node: + tty: true # Enables debugging capabilities when attached to this container. + image: docker.io/bitnami/node:20 + # command: sh -c 'npm install && npm start' + ports: + - 3000:3000 + volumes: + - .:/app diff --git a/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json new file mode 100644 index 000000000000..c307a94bee93 --- /dev/null +++ b/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json @@ -0,0 +1,14 @@ +{ + "node": { + "arch": "amd64", + "distro": "debian-11", + "type": "NAMI", + "version": "20.0.0-0" + }, + "python": { + "arch": "amd64", + "distro": "debian-11", + "type": "NAMI", + "version": "3.9.16-11" + } +} \ No newline at end of file diff --git a/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/licenses/licenses.txt b/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/licenses/licenses.txt new file mode 100644 index 000000000000..8373a19703c6 --- /dev/null +++ b/bitnami/node/20/debian-11/prebuildfs/opt/bitnami/licenses/licenses.txt @@ -0,0 +1,3 @@ +Bitnami containers ship with software bundles. You can find the licenses at: +https://bitnami.com/open-source +/opt/bitnami/[name-of-bundle]/licenses/[bundle-version].txt diff --git a/bitnami/node/20/debian-11/prebuildfs/usr/sbin/install_packages b/bitnami/node/20/debian-11/prebuildfs/usr/sbin/install_packages new file mode 100755 index 000000000000..77857a1a57f2 --- /dev/null +++ b/bitnami/node/20/debian-11/prebuildfs/usr/sbin/install_packages @@ -0,0 +1,25 @@ +#!/bin/sh +set -eu + +n=0 +max=2 +export DEBIAN_FRONTEND=noninteractive + +until [ $n -gt $max ]; do + set +e + ( + apt-get update -qq && + apt-get install -y --no-install-recommends "$@" + ) + CODE=$? + set -e + if [ $CODE -eq 0 ]; then + break + fi + if [ $n -eq $max ]; then + exit $CODE + fi + echo "apt failed, retrying" + n=$(($n + 1)) +done +apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives diff --git a/bitnami/node/20/debian-11/tags-info.yaml b/bitnami/node/20/debian-11/tags-info.yaml new file mode 100644 index 000000000000..3d01e4279eca --- /dev/null +++ b/bitnami/node/20/debian-11/tags-info.yaml @@ -0,0 +1,5 @@ +rolling-tags: +- "20" +- 20-debian-11 +- 20.0.0 +- latest diff --git a/bitnami/node/docker-compose.yml b/bitnami/node/docker-compose.yml index a674c9cb11a1..f792e20fbeb4 100644 --- a/bitnami/node/docker-compose.yml +++ b/bitnami/node/docker-compose.yml @@ -3,7 +3,7 @@ version: '2' services: node: tty: true # Enables debugging capabilities when attached to this container. - image: docker.io/bitnami/node:18 + image: docker.io/bitnami/node:20 # command: sh -c 'npm install && npm start' ports: - 3000:3000