diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index df3883c48..c327df6ae 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -24,6 +24,7 @@ jobs: - 19 - 20 - 21 + - 22 - 23 steps: - uses: actions/checkout@v4 diff --git a/README.md b/README.md index 97123a198..95f6ee202 100644 --- a/README.md +++ b/README.md @@ -234,6 +234,8 @@ is tagged correctly. * `ghcr.io/parkervcp/yolks:nodejs_20` * [`node21`](/nodejs/21) * `ghcr.io/parkervcp/yolks:nodejs_21` +* [`node22`](/nodejs/22) + * `ghcr.io/parkervcp/yolks:nodejs_22` * [`node23`](/nodejs/23) * `ghcr.io/parkervcp/yolks:nodejs_23` diff --git a/nodejs/22/Dockerfile b/nodejs/22/Dockerfile new file mode 100644 index 000000000..6a4590773 --- /dev/null +++ b/nodejs/22/Dockerfile @@ -0,0 +1,25 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:22-bookworm-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"]