diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 95f6f8cb6..e31f98c22 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -23,6 +23,7 @@ jobs: - 18 - 19 - 20 + - 21 steps: - uses: actions/checkout@v4 # Setup QEMU for ARM64 Build diff --git a/README.md b/README.md index 739703280..578314f0f 100644 --- a/README.md +++ b/README.md @@ -212,7 +212,8 @@ is tagged correctly. * `ghcr.io/parkervcp/yolks:nodejs_19` * [`node20`](/nodejs/20) * `ghcr.io/parkervcp/yolks:nodejs_20` - +* [`node21`](/nodejs/21) + * `ghcr.io/parkervcp/yolks:nodejs_21` ### [PostgreSQL](/postgres) diff --git a/nodejs/21/Dockerfile b/nodejs/21/Dockerfile new file mode 100644 index 000000000..eaf2f4275 --- /dev/null +++ b/nodejs/21/Dockerfile @@ -0,0 +1,20 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:21-bullseye-slim + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +RUN apt update \ + && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 tini \ + && useradd -m -d /home/container container + +RUN npm install npm@latest typescript ts-node @types/node --location=global + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +STOPSIGNAL SIGINT + +COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/usr/bin/tini", "-g", "--"] +CMD ["/entrypoint.sh"]