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"]