diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 39f3592..c327df6 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -24,6 +24,8 @@ jobs: - 19 - 20 - 21 + - 22 + - 23 steps: - uses: actions/checkout@v4 # Setup QEMU for ARM64 Build diff --git a/nodejs/18/Dockerfile b/nodejs/18/Dockerfile index 6117c85..ee3e920 100644 --- a/nodejs/18/Dockerfile +++ b/nodejs/18/Dockerfile @@ -6,7 +6,7 @@ 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@9.8.1 typescript ts-node @types/node --location=global +RUN npm install npm@10.x.x typescript ts-node @types/node --location=global # install pnpm RUN npm install -g corepack diff --git a/nodejs/20/Dockerfile b/nodejs/20/Dockerfile index 691e8b2..a921fac 100644 --- a/nodejs/20/Dockerfile +++ b/nodejs/20/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETOS/$TARGETARCH node:20-bookworm-slim +FROM --platform=$TARGETOS/$TARGETARCH node:20-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/nodejs/22/Dockerfile b/nodejs/22/Dockerfile new file mode 100644 index 0000000..4877517 --- /dev/null +++ b/nodejs/22/Dockerfile @@ -0,0 +1,25 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:22-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@10.x.x typescript ts-node @types/node --location=global + +# 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 + +STOPSIGNAL SIGINT + +COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/usr/bin/tini", "-g", "--"] +CMD ["/entrypoint.sh"] diff --git a/nodejs/23/Dockerfile b/nodejs/23/Dockerfile new file mode 100644 index 0000000..874eab7 --- /dev/null +++ b/nodejs/23/Dockerfile @@ -0,0 +1,25 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:23-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 + +# 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 + +STOPSIGNAL SIGINT + +COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/usr/bin/tini", "-g", "--"] +CMD ["/entrypoint.sh"]