Update nodejs yolks (#295)

* Update nodejs yolks

Move user creation and env to not rebuild on every update if not needed.

update apt install command to new format

update npm install command to properly be global to resolve ts-node issue

update npm install commands to install latest version available for node version

* fix build

moves section that sets the user and env vars to the bottom again.

I forgot the order of ops matters.

* fix issues with corepack

npm doesn't install a working version of corepack unless it's tagged to latest.
This commit is contained in:
Michael (Parker) Parker
2025-04-11 12:47:17 -04:00
committed by GitHub
parent 7695bbcc46
commit 7ca5ed1a16
10 changed files with 252 additions and 62 deletions

View File

@@ -2,11 +2,32 @@ FROM --platform=$TARGETOS/$TARGETARCH node:19-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
# add container user and set stop signal
RUN useradd -m -d /home/container container
STOPSIGNAL SIGINT
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global
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@9.x.x typescript ts-node @types/node
# install pnpm
RUN npm install -g corepack
@@ -17,9 +38,7 @@ 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", "--"]
ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
CMD ["/entrypoint.sh"]