diff --git a/.github/workflows/bot.yml b/.github/workflows/bot.yml
index c06159408..1133517f4 100644
--- a/.github/workflows/bot.yml
+++ b/.github/workflows/bot.yml
@@ -26,7 +26,7 @@ jobs:
with:
buildkitd-flags: --debug
- name: Set up QEMU
- uses: docker/setup-qemu-action@master
+ uses: docker/setup-qemu-action@v2
with:
platforms: arm64,amd64
- name: Cache Docker layers
diff --git a/bot/bastion/Dockerfile b/bot/bastion/Dockerfile
index 056a8139c..f360d57da 100644
--- a/bot/bastion/Dockerfile
+++ b/bot/bastion/Dockerfile
@@ -8,7 +8,7 @@ RUN apt update && apt install --no-install-recommends -y curl \
&& apt install -y nodejs \
&& npm install -g npm@latest \
## install bastion reqs
- && apt install -y python3 build-essential git libtool netcat ffmpeg iproute2 tzdata \
+ && apt install -y python3 build-essential git libtool netcat ffmpeg iproute2 tzdata tini \
## add container user
&& useradd -d /home/container -m container -s /bin/bash
@@ -16,5 +16,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/bot/red/Dockerfile b/bot/red/Dockerfile
index 589f42184..d7963314d 100644
--- a/bot/red/Dockerfile
+++ b/bot/red/Dockerfile
@@ -2,6 +2,7 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.11-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
+
RUN mkdir -p /usr/share/man/man1
RUN apt update \
&& apt -y upgrade \
@@ -32,7 +33,8 @@ RUN apt update \
libexpat1-dev \
liblzma-dev \
ffmpeg \
- imagemagick
+ imagemagick \
+ tini
RUN pip install --upgrade pip
RUN pip install python-forecastio tweepy unidecode discord-text-sanitizer mcstatus bs4 sqlalchemy geocoder valve python-valve py-cpuinfo psutil
@@ -46,5 +48,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+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/bot/sinusbot/Dockerfile b/bot/sinusbot/Dockerfile
index 24c43a825..388b34dc0 100644
--- a/bot/sinusbot/Dockerfile
+++ b/bot/sinusbot/Dockerfile
@@ -10,7 +10,7 @@ RUN apt update \
&& apt upgrade -y \
&& apt install -y ca-certificates less locales pulseaudio python python3 sudo x11vnc x11-xkb-utils xvfb iproute2 ffmpeg curl liblcms2-2 libatomic1 libxcb-xinerama0 fontconfig \
libasound2 libegl1-mesa libglib2.0-0 libnss3 libpci3 libpulse0 libxcursor1 libxslt1.1 libx11-xcb1 libxkbcommon0 bzip2 libxss1 libxcomposite1 libevent-2.1-7 libxcb-icccm4 \
- libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 \
+ libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xkb1 libxkbcommon-x11-0 tini \
&& useradd -m -d /home/container container
@@ -21,5 +21,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/dart/2.17/Dockerfile b/dart/2.17/Dockerfile
index 0bdbbe8fd..ef05342ea 100644
--- a/dart/2.17/Dockerfile
+++ b/dart/2.17/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH dart:2.17
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
- && apt -y install iproute2 git ca-certificates tzdata \
+ && apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dart/2.18/Dockerfile b/dart/2.18/Dockerfile
index 1bb02abf0..eda747af7 100644
--- a/dart/2.18/Dockerfile
+++ b/dart/2.18/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH dart:2.18
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
- && apt -y install iproute2 git ca-certificates tzdata \
+ && apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dart/2.19/Dockerfile b/dart/2.19/Dockerfile
index a303ed3cd..c01b351e1 100644
--- a/dart/2.19/Dockerfile
+++ b/dart/2.19/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH dart:2.19
LABEL author="Alden Bansemer" maintainer="alden@knoban.com"
RUN apt update \
- && apt -y install iproute2 git ca-certificates tzdata \
+ && apt -y install iproute2 git ca-certificates tzdata tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dotnet/2.1/Dockerfile b/dotnet/2.1/Dockerfile
index 7e21db000..58dcaff37 100644
--- a/dotnet/2.1/Dockerfile
+++ b/dotnet/2.1/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \
- && apt install -y apt-transport-https wget curl iproute2 libgdiplus \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
&& wget https://dot.net/v1/dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/2.1 | grep -i '
SDK 2.1.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
&& chmod +x dotnet-install.sh \
@@ -17,5 +17,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dotnet/3.1/Dockerfile b/dotnet/3.1/Dockerfile
index 1c6b483b0..18fa76783 100644
--- a/dotnet/3.1/Dockerfile
+++ b/dotnet/3.1/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \
- && apt install -y apt-transport-https wget curl iproute2 libgdiplus \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
&& wget https://dot.net/v1/dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/3.1 | grep -i 'SDK 3.1.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
&& chmod +x dotnet-install.sh \
@@ -18,5 +18,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dotnet/5/Dockerfile b/dotnet/5/Dockerfile
index 5a347cdb7..5bafee2d1 100644
--- a/dotnet/5/Dockerfile
+++ b/dotnet/5/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \
- && apt install -y apt-transport-https wget curl iproute2 libgdiplus \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
&& wget https://dot.net/v1/dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/5.0 | grep -i 'SDK 5.*.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
&& chmod +x dotnet-install.sh \
@@ -17,5 +17,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dotnet/6/Dockerfile b/dotnet/6/Dockerfile
index 6d696c668..9494f7644 100644
--- a/dotnet/6/Dockerfile
+++ b/dotnet/6/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \
- && apt install -y apt-transport-https wget curl iproute2 libgdiplus \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
&& wget https://dot.net/v1/dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/6.0 | grep -i 'SDK 6.*.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
&& chmod +x dotnet-install.sh \
@@ -17,5 +17,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/dotnet/7/Dockerfile b/dotnet/7/Dockerfile
index 5b6d45426..78a389a96 100644
--- a/dotnet/7/Dockerfile
+++ b/dotnet/7/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y \
&& apt upgrade -y \
- && apt install -y apt-transport-https wget curl iproute2 libgdiplus \
+ && apt install -y apt-transport-https wget curl iproute2 libgdiplus tini \
&& wget https://dot.net/v1/dotnet-install.sh \
&& D_V="$(curl -sSL https://dotnet.microsoft.com/en-us/download/dotnet/7.0 | grep -i 'SDK 7.*.*
' | head -1 | awk -F\" '{print $3}' | awk '{print $2;}' | sed 's/<\/h3>//g')" \
&& chmod +x dotnet-install.sh \
@@ -17,6 +17,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/games/altv/Dockerfile b/games/altv/Dockerfile
index 07a44efd4..cd13464c3 100644
--- a/games/altv/Dockerfile
+++ b/games/altv/Dockerfile
@@ -13,7 +13,7 @@ RUN apt update -y \
&& apt upgrade -y \
&& apt install -y g++ gcc libgcc-s1 lib32gcc-s1 gdb libstdc++6 libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
libfontconfig1 libicu67 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadb-dev libduktape205 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates tzdata \
- python3 dnsutils build-essential coreutils jq pcregrep
+ python3 dnsutils build-essential coreutils jq pcregrep tini
RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
&& dpkg -i packages-microsoft-prod.deb \
@@ -27,5 +27,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+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/games/samp/Dockerfile b/games/samp/Dockerfile
index 3ed39295e..0371afe4a 100644
--- a/games/samp/Dockerfile
+++ b/games/samp/Dockerfile
@@ -7,7 +7,7 @@ RUN apt update \
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
- && apt install -y libstdc++6 lib32stdc++6 tar curl iproute2 openssl fontconfig dirmngr ca-certificates dnsutils tzdata zip \
+ && apt install -y libstdc++6 lib32stdc++6 tar curl iproute2 openssl fontconfig dirmngr ca-certificates dnsutils tzdata zip tini \
&& apt install -y libtbb2:i386 libtbb-dev:i386 libicu-dev:i386 \
&& useradd -d /home/container -m container
@@ -19,5 +19,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/games/source/Dockerfile b/games/source/Dockerfile
index f28a6b368..a67e91883 100644
--- a/games/source/Dockerfile
+++ b/games/source/Dockerfile
@@ -32,7 +32,7 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
- && apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata numactl \
+ && apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata numactl tini \
&& useradd -m -d /home/container container
## install rcon
@@ -45,5 +45,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/11/Dockerfile b/java/11/Dockerfile
index 724efe617..9a69ba24f 100644
--- a/java/11/Dockerfile
+++ b/java/11/Dockerfile
@@ -6,18 +6,20 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk
LABEL org.opencontainers.image.licenses=MIT
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
+
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -25,5 +27,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/java/11j9/Dockerfile b/java/11j9/Dockerfile
index 7b22dc92c..d94a963b8 100644
--- a/java/11j9/Dockerfile
+++ b/java/11j9/Dockerfile
@@ -3,18 +3,19 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-11-jdk
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -22,5 +23,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/16/Dockerfile b/java/16/Dockerfile
index 240f4ea55..8be923f56 100644
--- a/java/16/Dockerfile
+++ b/java/16/Dockerfile
@@ -6,18 +6,19 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk
LABEL org.opencontainers.image.licenses=MIT
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -25,5 +26,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/16j9/Dockerfile b/java/16j9/Dockerfile
index 8fb09b7fa..580f883a6 100644
--- a/java/16j9/Dockerfile
+++ b/java/16j9/Dockerfile
@@ -3,18 +3,19 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-16-jdk
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -22,5 +23,10 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/17/Dockerfile b/java/17/Dockerfile
index bba6eb769..f9406e23a 100644
--- a/java/17/Dockerfile
+++ b/java/17/Dockerfile
@@ -6,18 +6,19 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk
LABEL org.opencontainers.image.licenses=MIT
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -25,5 +26,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/19/Dockerfile b/java/19/Dockerfile
index 733a50b5c..ef9987a12 100644
--- a/java/19/Dockerfile
+++ b/java/19/Dockerfile
@@ -6,18 +6,19 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk
LABEL org.opencontainers.image.licenses=MIT
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -25,5 +26,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/8/Dockerfile b/java/8/Dockerfile
index e09d406dd..f4ac7d160 100644
--- a/java/8/Dockerfile
+++ b/java/8/Dockerfile
@@ -6,18 +6,19 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolk
LABEL org.opencontainers.image.licenses=MIT
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -25,5 +26,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/java/8j9/Dockerfile b/java/8j9/Dockerfile
index 968c7d47b..58ab2db22 100644
--- a/java/8j9/Dockerfile
+++ b/java/8j9/Dockerfile
@@ -3,18 +3,19 @@ FROM --platform=$TARGETOS/$TARGETARCH ibm-semeru-runtimes:open-8-jdk
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update -y \
- && apt install -y \
- curl \
- lsof \
- ca-certificates \
- openssl \
- git \
- tar \
- sqlite3 \
- fontconfig \
- tzdata \
- iproute2 \
- libfreetype6
+ && apt install -y \
+ curl \
+ lsof \
+ ca-certificates \
+ openssl \
+ git \
+ tar \
+ sqlite3 \
+ fontconfig \
+ tzdata \
+ iproute2 \
+ libfreetype6 \
+ tini
## Setup user and working directory
RUN useradd -m -d /home/container -s /bin/bash container
@@ -22,5 +23,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/12/Dockerfile b/nodejs/12/Dockerfile
index 53e46e11b..e85daf71c 100644
--- a/nodejs/12/Dockerfile
+++ b/nodejs/12/Dockerfile
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:12-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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/nodejs/14/Dockerfile b/nodejs/14/Dockerfile
index 5ba97e24c..fe2764d4d 100644
--- a/nodejs/14/Dockerfile
+++ b/nodejs/14/Dockerfile
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:14-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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/16/Dockerfile b/nodejs/16/Dockerfile
index 0f45f65a3..df7acf96b 100644
--- a/nodejs/16/Dockerfile
+++ b/nodejs/16/Dockerfile
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:16-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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/17/Dockerfile b/nodejs/17/Dockerfile
index f0c7237a6..5912b2f26 100644
--- a/nodejs/17/Dockerfile
+++ b/nodejs/17/Dockerfile
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/18/Dockerfile b/nodejs/18/Dockerfile
index 11fe5f114..1877db682 100644
--- a/nodejs/18/Dockerfile
+++ b/nodejs/18/Dockerfile
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:18-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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/19/Dockerfile b/nodejs/19/Dockerfile
index ee47a866b..4bfe3c1f9 100644
--- a/nodejs/19/Dockerfile
+++ b/nodejs/19/Dockerfile
@@ -3,7 +3,7 @@ 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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/20/Dockerfile b/nodejs/20/Dockerfile
index 531e25360..2c5f0f9a0 100644
--- a/nodejs/20/Dockerfile
+++ b/nodejs/20/Dockerfile
@@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:20-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 \
+ && 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
@@ -12,5 +12,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/oses/alpine/Dockerfile b/oses/alpine/Dockerfile
index b7badc919..32eb44aef 100644
--- a/oses/alpine/Dockerfile
+++ b/oses/alpine/Dockerfile
@@ -27,12 +27,16 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
-RUN apk add --update --no-cache ca-certificates tzdata \
+RUN apk add --update --no-cache ca-certificates tzdata tini \
&& adduser -D -h /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD [ "/bin/ash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/sbin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/oses/debian/Dockerfile b/oses/debian/Dockerfile
index 6197bc879..f47530bf5 100644
--- a/oses/debian/Dockerfile
+++ b/oses/debian/Dockerfile
@@ -20,7 +20,7 @@ RUN apt update \
## Install dependencies
RUN apt install -y gcc g++ libgcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
libfontconfig libicu67 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadbclient-dev-compat libduktape205 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates \
- liblua5.3-0 libz-dev rapidjson-dev tzdata libevent-dev libzip4 libprotobuf23 libfluidsynth2 procps libstdc++6
+ liblua5.3-0 libz-dev rapidjson-dev tzdata libevent-dev libzip4 libprotobuf23 libfluidsynth2 procps libstdc++6 tini
## Configure locale
RUN update-locale lang=en_US.UTF-8 \
@@ -29,6 +29,9 @@ RUN update-locale lang=en_US.UTF-8 \
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/oses/ubuntu/Dockerfile b/oses/ubuntu/Dockerfile
index 985c072c9..aec60e1d0 100644
--- a/oses/ubuntu/Dockerfile
+++ b/oses/ubuntu/Dockerfile
@@ -15,7 +15,7 @@ RUN apt update \
RUN apt install -y gcc g++ libgcc1 libc++-dev gdb libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools netcat telnet libatomic1 libsdl1.2debian libsdl2-2.0-0 \
libfontconfig icu-devtools libunwind8 sqlite3 libsqlite3-dev libzip4 locales ffmpeg apt-transport-https init-system-helpers \
libcurl3-gnutls liblua5.1-0 libluajit-5.1-2 libsqlite3-0 bzip2 zlib1g libevent-dev libmariadb-dev-compat libmariadb-dev libssl-dev \
- libfluidsynth-dev libmariadb-dev libicu-dev libssl3 libduktape207 libjsoncpp-dev libleveldb1d libncurses5 libncursesw5
+ libfluidsynth-dev libmariadb-dev libicu-dev libssl3 libduktape207 libjsoncpp-dev libleveldb1d libncurses5 libncursesw5 tini
## configure locale
RUN update-locale lang=en_US.UTF-8 \
@@ -23,5 +23,9 @@ RUN update-locale lang=en_US.UTF-8 \
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/python/2.7/Dockerfile b/python/2.7/Dockerfile
index bcfac0d4a..eee04a58a 100644
--- a/python/2.7/Dockerfile
+++ b/python/2.7/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:2.7-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/python/3.10/Dockerfile b/python/3.10/Dockerfile
index 5f6d9f3de..ccfab6e90 100644
--- a/python/3.10/Dockerfile
+++ b/python/3.10/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.10-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/python/3.11/Dockerfile b/python/3.11/Dockerfile
index eabf1456e..ee9cbd81c 100644
--- a/python/3.11/Dockerfile
+++ b/python/3.11/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.11-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/python/3.7/Dockerfile b/python/3.7/Dockerfile
index bad33ac96..76c9dd879 100644
--- a/python/3.7/Dockerfile
+++ b/python/3.7/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.7-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+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/python/3.8/Dockerfile b/python/3.8/Dockerfile
index dae396d5f..51928e396 100644
--- a/python/3.8/Dockerfile
+++ b/python/3.8/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.8-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+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/python/3.9/Dockerfile b/python/3.9/Dockerfile
index e9843f816..f4811df1b 100644
--- a/python/3.9/Dockerfile
+++ b/python/3.9/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH python:3.9-slim
LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \
- && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps \
+ && apt -y install git gcc g++ ca-certificates dnsutils curl iproute2 ffmpeg procps tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/rust/1.31/Dockerfile b/rust/1.31/Dockerfile
index 840bc9feb..011c8b180 100644
--- a/rust/1.31/Dockerfile
+++ b/rust/1.31/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH rust:1.31-slim
LABEL author="Ethan Coward" maintainer="ethan.coward@icloud.com"
RUN apt update \
- && apt -y install git dnsutils curl iproute2 ffmpeg \
+ && apt -y install git dnsutils curl iproute2 ffmpeg tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container CARGO_HOME=/home/container/.cargo
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/rust/1.56/Dockerfile b/rust/1.56/Dockerfile
index 9d3bed6bc..2a33e681c 100644
--- a/rust/1.56/Dockerfile
+++ b/rust/1.56/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH rust:1.56-slim
LABEL author="Ethan Coward" maintainer="ethan.coward@icloud.com"
RUN apt update \
- && apt -y install git dnsutils curl iproute2 ffmpeg \
+ && apt -y install git dnsutils curl iproute2 ffmpeg tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container CARGO_HOME=/home/container/.cargo
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/rust/1.60/Dockerfile b/rust/1.60/Dockerfile
index 5624cc24a..326202260 100644
--- a/rust/1.60/Dockerfile
+++ b/rust/1.60/Dockerfile
@@ -3,12 +3,16 @@ FROM --platform=$TARGETOS/$TARGETARCH rust:1.60-slim
LABEL author="Ethan Coward" maintainer="ethan.coward@icloud.com"
RUN apt update \
- && apt -y install git dnsutils curl iproute2 ffmpeg \
+ && apt -y install git dnsutils curl iproute2 ffmpeg tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container CARGO_HOME=/home/container/.cargo
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/rust/latest/Dockerfile b/rust/latest/Dockerfile
index 3d94aeb57..e29edeb49 100644
--- a/rust/latest/Dockerfile
+++ b/rust/latest/Dockerfile
@@ -3,12 +3,14 @@ FROM --platform=$TARGETOS/$TARGETARCH rust:slim
LABEL author="Ethan Coward" maintainer="ethan.coward@icloud.com"
RUN apt update \
- && apt -y install git dnsutils curl iproute2 ffmpeg \
+ && apt -y install git dnsutils curl iproute2 ffmpeg tini \
&& useradd -m -d /home/container container
USER container
ENV USER=container HOME=/home/container CARGO_HOME=/home/container/.cargo
WORKDIR /home/container
-COPY ./../entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
\ No newline at end of file
+COPY --chown=container:container ./../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/steamcmd/debian/Dockerfile b/steamcmd/debian/Dockerfile
index feec50b0c..0bcf8c946 100644
--- a/steamcmd/debian/Dockerfile
+++ b/steamcmd/debian/Dockerfile
@@ -10,7 +10,7 @@ ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 \
&& apt-get update \
&& apt-get upgrade -y \
- && apt-get install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 libsdl2-2.0-0 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata numactl xvfb \
+ && apt-get install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 libsdl2-2.0-0 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata numactl xvfb tini \
&& useradd -m -d /home/container container
## install rcon
@@ -23,5 +23,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/steamcmd/dotnet/Dockerfile b/steamcmd/dotnet/Dockerfile
index be1e1a07a..e90ae7595 100644
--- a/steamcmd/dotnet/Dockerfile
+++ b/steamcmd/dotnet/Dockerfile
@@ -9,7 +9,7 @@ RUN dpkg --add-architecture i386 \
&& apt upgrade -y \
&& apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata \
&& apt install -y libstdc++6 libstdc++6:i386 libc6-amd64 libc6:i386 psmisc libgdiplus libcurl4 libfontconfig1 libpangocairo-1.0-0 libnss3 libgconf-2-4 libxi6 libxcursor1 libxss1 libxcomposite1 libasound2 libxdamage1 libxtst6 libatk1.0-0 libxrandr2 libcurl4 xvfb mesa-utils git \
- && apt install -y python3 python3-dev python3-pip apt-transport-https wget iproute2 sqlite3 xvfb \
+ && apt install -y python3 python3-dev python3-pip apt-transport-https wget iproute2 sqlite3 xvfb tini \
&& useradd -d /home/container -m container
RUN apt update -y \
@@ -30,5 +30,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
+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/steamcmd/ubuntu/Dockerfile b/steamcmd/ubuntu/Dockerfile
index 366567ac0..997e4f66c 100644
--- a/steamcmd/ubuntu/Dockerfile
+++ b/steamcmd/ubuntu/Dockerfile
@@ -11,7 +11,7 @@ RUN dpkg --add-architecture i386 \
&& apt update \
&& apt upgrade -y \
&& apt -y install tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl-dev:i386 libssl-dev libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata libtinfo6:i386 libtbb2:i386 libtinfo5:i386 libcurl4-gnutls-dev:i386 libcurl4:i386 libncurses5:i386 libcurl3-gnutls:i386 faketime:i386 libtbb2:i386 \
- && apt -y install lib32tinfo6 lib32stdc++6 lib32z1 libtbb2 libtinfo5 libstdc++6 readline-common libncursesw5 libfontconfig1 libnss-wrapper gettext-base libc++-dev libc6-i386 libcurl4 libc6 libc6:i386 libssl3 libssl3:i386 libc6 libc6:i386 xvfb gdb libc++-dev
+ && apt -y install lib32tinfo6 lib32stdc++6 lib32z1 libtbb2 libtinfo5 libstdc++6 readline-common libncursesw5 libfontconfig1 libnss-wrapper gettext-base libc++-dev libc6-i386 libcurl4 libc6 libc6:i386 libssl3 libssl3:i386 libc6 libc6:i386 xvfb gdb libc++-dev tini
RUN useradd -d /home/container -m container
@@ -29,5 +29,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ../entrypoint.sh /entrypoint.sh
-CMD [ "/bin/bash", "/entrypoint.sh" ]
\ No newline at end of file
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ../entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
\ No newline at end of file
diff --git a/voice/mumble/Dockerfile b/voice/mumble/Dockerfile
index 7a7da1bd6..f22b79737 100644
--- a/voice/mumble/Dockerfile
+++ b/voice/mumble/Dockerfile
@@ -6,7 +6,7 @@ LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
## install dependencies
-RUN apk add --no-cache murmur
+RUN apk add --no-cache murmur tini
RUN adduser -D container
@@ -14,5 +14,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/ash", "/entrypoint.sh"]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/sbin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]
diff --git a/voice/teaspeak/Dockerfile b/voice/teaspeak/Dockerfile
index 3b4dea2e7..cc46233fe 100644
--- a/voice/teaspeak/Dockerfile
+++ b/voice/teaspeak/Dockerfile
@@ -34,7 +34,7 @@ RUN apt update \
&& apt upgrade -y
## install dependencies
-RUN apt install -y ffmpeg curl python3 iproute2 libjemalloc2
+RUN apt install -y ffmpeg curl python3 iproute2 libjemalloc2 tini
# Install latest youtube-dl
RUN curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
@@ -48,5 +48,9 @@ USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
-COPY ./entrypoint.sh /entrypoint.sh
-CMD ["/bin/bash", "/entrypoint.sh"]
+STOPSIGNAL SIGINT
+
+COPY --chown=container:container ./entrypoint.sh /entrypoint.sh
+RUN chmod +x /entrypoint.sh
+ENTRYPOINT ["/usr/bin/tini", "-g", "--"]
+CMD ["/entrypoint.sh"]