diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index b70660e..b69b7ec 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -26,6 +26,7 @@ jobs: - 21 - 22 - 23 + - 24 steps: - uses: actions/checkout@v4 # Setup QEMU for ARM64 Build diff --git a/README.md b/README.md index 3c8f00f..63085de 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,8 @@ is tagged correctly. * `ghcr.io/parkervcp/yolks:nodejs_22` * [`node23`](/nodejs/23) * `ghcr.io/parkervcp/yolks:nodejs_23` +* [`node24`](/nodejs/24) + * `ghcr.io/parkervcp/yolks:nodejs_24` ### [PostgreSQL](/postgres) diff --git a/nodejs/24/Dockerfile b/nodejs/24/Dockerfile new file mode 100644 index 0000000..6ffca55 --- /dev/null +++ b/nodejs/24/Dockerfile @@ -0,0 +1,44 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:24-bookworm-slim + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +# add container user and set stop signal +RUN useradd -m -d /home/container container +STOPSIGNAL SIGINT + +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 + +RUN npm install --global npm@latest typescript ts-node @types/node + +# install pnpm +RUN npm install -g corepack +RUN corepack enable +RUN corepack prepare pnpm@latest --activate + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/usr/bin/tini", "-g", "--"] +CMD ["/entrypoint.sh"]