diff --git a/.github/workflows/bot.yml b/.github/workflows/bot.yml
index c061594..1133517 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 056a813..f360d57 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 589f421..d796331 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 24c43a8..388b34d 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 0bdbbe8..ef05342 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 1bb02ab..eda747a 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 a303ed3..c01b351 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 7e21db0..58dcaff 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 1c6b483..18fa767 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 5a347cd..5bafee2 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 6d696c6..9494f76 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 5b6d454..78a389a 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 07a44ef..cd13464 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 3ed3929..0371afe 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 f28a6b3..a67e918 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 724efe6..9a69ba2 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 7b22dc9..d94a963 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 240f4ea..8be923f 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 8fb09b7..580f883 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 bba6eb7..f9406e2 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 733a50b..ef9987a 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 e09d406..f4ac7d1 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 968c7d4..58ab2db 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 53e46e1..e85daf7 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 5ba97e2..fe2764d 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 0f45f65..df7acf9 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 f0c7237..5912b2f 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 11fe5f1..1877db6 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 ee47a86..4bfe3c1 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 531e253..2c5f0f9 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 b7badc9..32eb44a 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 6197bc8..f47530b 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 985c072..aec60e1 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 bcfac0d..eee04a5 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 5f6d9f3..ccfab6e 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 eabf145..ee9cbd8 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 bad33ac..76c9dd8 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 dae396d..51928e3 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 e9843f8..f4811df 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 840bc9f..011c8b1 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 9d3bed6..2a33e68 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 5624cc2..3262022 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 3d94aeb..e29edeb 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 feec50b..0bcf8c9 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 be1e1a0..e90ae75 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 366567a..997e4f6 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 7a7da1b..f22b797 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 3b4dea2..cc46233 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"]