diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 39f3592..df3883c 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -24,6 +24,7 @@ jobs: - 19 - 20 - 21 + - 23 steps: - uses: actions/checkout@v4 # Setup QEMU for ARM64 Build diff --git a/README.md b/README.md index f0a211c..a10e18e 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,9 @@ is tagged correctly. * `ghcr.io/parkervcp/yolks:nodejs_20` * [`node21`](/nodejs/21) * `ghcr.io/parkervcp/yolks:nodejs_21` - +* [`node23`](/nodejs/23) + * `ghcr.io/parkervcp/yolks:nodejs_23` + ### [PostgreSQL](/postgres) * [`Postgres 9`](/postgres/9) 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/21/Dockerfile b/nodejs/21/Dockerfile index 8f6953c..fd28e79 100644 --- a/nodejs/21/Dockerfile +++ b/nodejs/21/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@latest 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/23/Dockerfile b/nodejs/23/Dockerfile new file mode 100644 index 0000000..5cb4278 --- /dev/null +++ b/nodejs/23/Dockerfile @@ -0,0 +1,25 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:23-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"]