
* 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.
45 lines
1.3 KiB
Docker
45 lines
1.3 KiB
Docker
FROM --platform=$TARGETOS/$TARGETARCH node:23-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"]
|