From 310ed2569e66da6c92dd132beb5665bfb20bf751 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sat, 29 Jul 2023 19:21:34 +0200 Subject: [PATCH 01/10] make the installer image work for ARM64 and AMD64 --- .github/workflows/installers.yml | 3 ++- installers/debian/Dockerfile | 13 +++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/installers.yml b/.github/workflows/installers.yml index 2078532..cc45707 100644 --- a/.github/workflows/installers.yml +++ b/.github/workflows/installers.yml @@ -21,6 +21,7 @@ jobs: - ubuntu steps: - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 - uses: docker/setup-buildx-action@v2 with: buildkitd-flags: --debug @@ -33,7 +34,7 @@ jobs: with: context: ./installers file: ./installers/${{ matrix.tag }}/Dockerfile - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 push: true tags: | ghcr.io/parkervcp/installers:${{ matrix.tag }} diff --git a/installers/debian/Dockerfile b/installers/debian/Dockerfile index e0b1fbf..aafb0b6 100644 --- a/installers/debian/Dockerfile +++ b/installers/debian/Dockerfile @@ -29,7 +29,12 @@ LABEL org.opencontainers.image.licenses=MIT ENV DEBIAN_FRONTEND=noninteractive -RUN dpkg --add-architecture i386 \ - && apt update \ - && apt upgrade -y \ - && apt -y --no-install-recommends install ca-certificates curl lib32gcc-s1 libsdl2-2.0-0:i386 git unzip zip tar jq wget +RUN apt update && apt upgrade -y \ + && apt -y --no-install-recommends install ca-certificates curl git unzip zip tar jq wget + +# Only install the needed steamcmd packages on the AMD64 build +RUN if [ "$(uname -m)" = "x86_64" ]; then \ + dpkg --add-architecture i386 && \ + apt update && \ + apt -y install lib32gcc-s1 libsdl2-2.0-0:i386; \ + fi \ No newline at end of file From 9bf807745323b669f4060d96573b202d3707e885 Mon Sep 17 00:00:00 2001 From: gOOvER <116325+gOOvER@users.noreply.github.com> Date: Sun, 6 Aug 2023 12:40:56 +0200 Subject: [PATCH 02/10] update all imanges to use latest keyrings and added wine devel --- .github/workflows/wine.yml | 1 + wine/devel/Dockerfile | 42 +++++++++++++++++++++++++++ wine/latest/Dockerfile | 58 ++++++++++++++++++++------------------ wine/staging/Dockerfile | 58 ++++++++++++++++++++------------------ 4 files changed, 103 insertions(+), 56 deletions(-) create mode 100644 wine/devel/Dockerfile diff --git a/.github/workflows/wine.yml b/.github/workflows/wine.yml index 5bb10a6..f729fe8 100644 --- a/.github/workflows/wine.yml +++ b/.github/workflows/wine.yml @@ -17,6 +17,7 @@ jobs: matrix: tag: - latest + - devel - staging steps: - uses: actions/checkout@v3 diff --git a/wine/devel/Dockerfile b/wine/devel/Dockerfile new file mode 100644 index 0000000..bb5e7c5 --- /dev/null +++ b/wine/devel/Dockerfile @@ -0,0 +1,42 @@ +# --------------------------------------- +# Generic Wine image based on Wine devel +# --------------------------------------- +FROM ghcr.io/parkervcp/yolks:debian + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT + +## install required packages +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 + +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-devel cabextract wine-binfmt -y + +# Set up Winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks + +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 + +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/latest/Dockerfile b/wine/latest/Dockerfile index f587452..6937913 100644 --- a/wine/latest/Dockerfile +++ b/wine/latest/Dockerfile @@ -1,40 +1,42 @@ # --------------------------------------- # Generic Wine image based on Wine stable # --------------------------------------- -FROM ghcr.io/parkervcp/yolks:debian +FROM ghcr.io/parkervcp/yolks:debian -LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT ## install required packages -RUN dpkg --add-architecture i386 \ - && apt update -y \ - && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 -# Install winehq-stable and with recommends -RUN wget -nc https://dl.winehq.org/wine-builds/winehq.key \ - && apt-key add winehq.key \ - && echo "deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list \ - && wget -O- -q download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11/Release.key | apt-key add - \ - && echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11 ./" | tee /etc/apt/sources.list.d/wine-obs.list \ - && apt update \ - && apt install -y --install-recommends winehq-stable cabextract +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-stable cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ - && chmod +x /usr/sbin/winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks -ENV HOME=/home/container -ENV WINEPREFIX=/home/container/.wine -ENV WINEDLLOVERRIDES="mscoree,mshtml=" -ENV DISPLAY=:0 -ENV DISPLAY_WIDTH=1024 -ENV DISPLAY_HEIGHT=768 -ENV DISPLAY_DEPTH=16 -ENV AUTO_UPDATE=1 -ENV XVFB=1 +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 -USER container -WORKDIR /home/container +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container -COPY ./../entrypoint.sh /entrypoint.sh -CMD [ "/bin/bash", "/entrypoint.sh" ] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/staging/Dockerfile b/wine/staging/Dockerfile index 6c7d761..437a37c 100644 --- a/wine/staging/Dockerfile +++ b/wine/staging/Dockerfile @@ -1,40 +1,42 @@ # --------------------------------------- # Generic Wine image based on Wine staging # --------------------------------------- -FROM ghcr.io/parkervcp/yolks:debian +FROM ghcr.io/parkervcp/yolks:debian -LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" +LABEL org.opencontainers.image.licenses=MIT ## install required packages -RUN dpkg --add-architecture i386 \ - && apt update -y \ - && apt install -y --no-install-recommends gnupg2 tzdata numactl software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 +RUN dpkg --add-architecture i386 \ + && apt update -y \ + && apt install -y --no-install-recommends gnupg2 numactl tzdata software-properties-common libntlm0 winbind xvfb xauth python3 libncurses5:i386 libncurses6:i386 libsdl2-2.0-0 libsdl2-2.0-0:i386 -# Install winehq-stable and with recommends -RUN wget -nc https://dl.winehq.org/wine-builds/winehq.key \ - && apt-key add winehq.key \ - && echo "deb https://dl.winehq.org/wine-builds/debian/ bullseye main" >> /etc/apt/sources.list \ - && wget -O- -q download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11/Release.key | apt-key add - \ - && echo "deb http://download.opensuse.org/repositories/Emulators:/Wine:/Debian/Debian_11 ./" | tee /etc/apt/sources.list.d/wine-obs.list \ - && apt update \ - && apt install -y --install-recommends winehq-staging cabextract +# Install wine and with recommends +RUN mkdir -pm755 /etc/apt/keyrings +RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key +RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources +RUN apt update +RUN apt install --install-recommends winehq-staging cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ - && chmod +x /usr/sbin/winetricks +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ + && chmod +x /usr/sbin/winetricks -ENV HOME=/home/container -ENV WINEPREFIX=/home/container/.wine -ENV WINEDLLOVERRIDES="mscoree,mshtml=" -ENV DISPLAY=:0 -ENV DISPLAY_WIDTH=1024 -ENV DISPLAY_HEIGHT=768 -ENV DISPLAY_DEPTH=16 -ENV AUTO_UPDATE=1 -ENV XVFB=1 +ENV HOME=/home/container +ENV WINEPREFIX=/home/container/.wine +ENV WINEDLLOVERRIDES="mscoree,mshtml=" +ENV DISPLAY=:0 +ENV DISPLAY_WIDTH=1024 +ENV DISPLAY_HEIGHT=768 +ENV DISPLAY_DEPTH=16 +ENV AUTO_UPDATE=1 +ENV XVFB=1 -USER container -WORKDIR /home/container +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container -COPY ./../entrypoint.sh /entrypoint.sh -CMD [ "/bin/bash", "/entrypoint.sh" ] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] From efebbd6edf543f2831b8be38acb11f1c1542b876 Mon Sep 17 00:00:00 2001 From: gOOvER <116325+gOOvER@users.noreply.github.com> Date: Sun, 6 Aug 2023 12:43:52 +0200 Subject: [PATCH 03/10] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d845a0b..1971c3f 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,7 @@ is tagged correctly. * [`Wine`](/wine) * `ghcr.io/parkervcp/yolks:wine_latest` + * `ghcr.io/parkervcp/yolks:wine_devel` * `ghcr.io/parkervcp/yolks:wine_staging` ### [Installation Images](/installers) From 96c591862fd698c12c0bd405e238410ff06815bb Mon Sep 17 00:00:00 2001 From: gOOvER <116325+gOOvER@users.noreply.github.com> Date: Sun, 6 Aug 2023 12:51:30 +0200 Subject: [PATCH 04/10] remove user --- wine/devel/Dockerfile | 8 +------- wine/latest/Dockerfile | 8 +------- wine/staging/Dockerfile | 8 +------- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/wine/devel/Dockerfile b/wine/devel/Dockerfile index bb5e7c5..115d377 100644 --- a/wine/devel/Dockerfile +++ b/wine/devel/Dockerfile @@ -19,7 +19,7 @@ RUN apt update RUN apt install --install-recommends winehq-devel cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ && chmod +x /usr/sbin/winetricks ENV HOME=/home/container @@ -32,11 +32,5 @@ ENV DISPLAY_DEPTH=16 ENV AUTO_UPDATE=1 ENV XVFB=1 -## Setup user and working directory -RUN useradd -m -d /home/container -s /bin/bash container -USER container -ENV USER=container HOME=/home/container -WORKDIR /home/container - COPY ./../entrypoint.sh /entrypoint.sh CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/latest/Dockerfile b/wine/latest/Dockerfile index 6937913..2a1fa6b 100644 --- a/wine/latest/Dockerfile +++ b/wine/latest/Dockerfile @@ -19,7 +19,7 @@ RUN apt update RUN apt install --install-recommends winehq-stable cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ && chmod +x /usr/sbin/winetricks ENV HOME=/home/container @@ -32,11 +32,5 @@ ENV DISPLAY_DEPTH=16 ENV AUTO_UPDATE=1 ENV XVFB=1 -## Setup user and working directory -RUN useradd -m -d /home/container -s /bin/bash container -USER container -ENV USER=container HOME=/home/container -WORKDIR /home/container - COPY ./../entrypoint.sh /entrypoint.sh CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/wine/staging/Dockerfile b/wine/staging/Dockerfile index 437a37c..01858cb 100644 --- a/wine/staging/Dockerfile +++ b/wine/staging/Dockerfile @@ -19,7 +19,7 @@ RUN apt update RUN apt install --install-recommends winehq-staging cabextract wine-binfmt -y # Set up Winetricks -RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ +RUN wget -q -O /usr/sbin/winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks \ && chmod +x /usr/sbin/winetricks ENV HOME=/home/container @@ -32,11 +32,5 @@ ENV DISPLAY_DEPTH=16 ENV AUTO_UPDATE=1 ENV XVFB=1 -## Setup user and working directory -RUN useradd -m -d /home/container -s /bin/bash container -USER container -ENV USER=container HOME=/home/container -WORKDIR /home/container - COPY ./../entrypoint.sh /entrypoint.sh CMD [ "/bin/bash", "/entrypoint.sh" ] From 47f6300258bebec1bdee4e17fba4d1b0f2d73035 Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sun, 13 Aug 2023 10:47:33 +0200 Subject: [PATCH 05/10] Nodejs: Add Typescript support --- nodejs/12/Dockerfile | 2 +- nodejs/14/Dockerfile | 2 +- nodejs/16/Dockerfile | 2 +- nodejs/17/Dockerfile | 3 ++- nodejs/18/Dockerfile | 2 +- nodejs/19/Dockerfile | 2 +- nodejs/20/Dockerfile | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/nodejs/12/Dockerfile b/nodejs/12/Dockerfile index c10b4b7..eeee6ae 100644 --- a/nodejs/12/Dockerfile +++ b/nodejs/12/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/14/Dockerfile b/nodejs/14/Dockerfile index 819b31d..576395b 100644 --- a/nodejs/14/Dockerfile +++ b/nodejs/14/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/16/Dockerfile b/nodejs/16/Dockerfile index e59bc4b..466efea 100644 --- a/nodejs/16/Dockerfile +++ b/nodejs/16/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/17/Dockerfile b/nodejs/17/Dockerfile index 08d5c07..c94a1e0 100644 --- a/nodejs/17/Dockerfile +++ b/nodejs/17/Dockerfile @@ -6,7 +6,8 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@8.11.0 --location=global +RUN npm install npm@8.11.0 typescript ts-node @types/node --location=global + USER container ENV USER=container HOME=/home/container diff --git a/nodejs/18/Dockerfile b/nodejs/18/Dockerfile index d62fcec..56e82f5 100644 --- a/nodejs/18/Dockerfile +++ b/nodejs/18/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/19/Dockerfile b/nodejs/19/Dockerfile index fd9a71f..5768f93 100644 --- a/nodejs/19/Dockerfile +++ b/nodejs/19/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/20/Dockerfile b/nodejs/20/Dockerfile index ef9ea31..498adda 100644 --- a/nodejs/20/Dockerfile +++ b/nodejs/20/Dockerfile @@ -6,7 +6,7 @@ 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest -g +RUN npm install npm@latest typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container From 5b354d0efc2f1d5cd7ea8d57aa75dd5bafca752f Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Sun, 13 Aug 2023 10:53:28 +0200 Subject: [PATCH 06/10] Remove extra empty line --- nodejs/17/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/nodejs/17/Dockerfile b/nodejs/17/Dockerfile index c94a1e0..ab8c039 100644 --- a/nodejs/17/Dockerfile +++ b/nodejs/17/Dockerfile @@ -8,7 +8,6 @@ RUN apt update \ RUN npm install npm@8.11.0 typescript ts-node @types/node --location=global - USER container ENV USER=container HOME=/home/container WORKDIR /home/container From a62025a07f53f0c8797b7358e3c5bca32db5b2f8 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 14 Aug 2023 15:24:24 +0200 Subject: [PATCH 07/10] Cleanup java images (#175) Cleanup java images --------- Co-authored-by: gOOvER <116325+gOOvER@users.noreply.github.com> --- java/11/Dockerfile | 16 ++++++++++++++-- java/11j9/Dockerfile | 22 ++++++++++++++++------ java/16/Dockerfile | 16 ++++++++++++++-- java/16j9/Dockerfile | 22 ++++++++++++++++------ java/17/Dockerfile | 18 +++++++++++++++--- java/19/Dockerfile | 18 +++++++++++++++--- java/8/Dockerfile | 16 ++++++++++++++-- java/8j9/Dockerfile | 22 ++++++++++++++++------ 8 files changed, 120 insertions(+), 30 deletions(-) diff --git a/java/11/Dockerfile b/java/11/Dockerfile index 007fca2..724efe6 100644 --- a/java/11/Dockerfile +++ b/java/11/Dockerfile @@ -6,9 +6,21 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/11j9/Dockerfile b/java/11j9/Dockerfile index 7c5c675..7b22dc9 100644 --- a/java/11j9/Dockerfile +++ b/java/11j9/Dockerfile @@ -3,14 +3,24 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container -COPY ./entrypoint.sh /entrypoint.sh - -CMD ["/bin/bash", "/entrypoint.sh"] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/java/16/Dockerfile b/java/16/Dockerfile index 2080cf1..240f4ea 100644 --- a/java/16/Dockerfile +++ b/java/16/Dockerfile @@ -6,9 +6,21 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/16j9/Dockerfile b/java/16j9/Dockerfile index 9ee4c7d..8fb09b7 100644 --- a/java/16j9/Dockerfile +++ b/java/16j9/Dockerfile @@ -3,14 +3,24 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container -COPY ./entrypoint.sh /entrypoint.sh - -CMD ["/bin/bash", "/entrypoint.sh"] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/java/17/Dockerfile b/java/17/Dockerfile index 3b8380b..bba6eb7 100644 --- a/java/17/Dockerfile +++ b/java/17/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-focal +FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:17-jdk-jammy LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -6,9 +6,21 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/19/Dockerfile b/java/19/Dockerfile index c565080..733a50b 100644 --- a/java/19/Dockerfile +++ b/java/19/Dockerfile @@ -1,4 +1,4 @@ -FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-focal +FROM --platform=$TARGETOS/$TARGETARCH eclipse-temurin:19-jdk-jammy LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -6,9 +6,21 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/8/Dockerfile b/java/8/Dockerfile index 74c4b6f..e09d406 100644 --- a/java/8/Dockerfile +++ b/java/8/Dockerfile @@ -6,9 +6,21 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container WORKDIR /home/container diff --git a/java/8j9/Dockerfile b/java/8j9/Dockerfile index 9395fe8..968c7d4 100644 --- a/java/8j9/Dockerfile +++ b/java/8j9/Dockerfile @@ -3,14 +3,24 @@ 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 \ - && useradd -d /home/container -m container + && apt install -y \ + curl \ + lsof \ + ca-certificates \ + openssl \ + git \ + tar \ + sqlite3 \ + fontconfig \ + tzdata \ + iproute2 \ + libfreetype6 +## Setup user and working directory +RUN useradd -m -d /home/container -s /bin/bash container USER container ENV USER=container HOME=/home/container - WORKDIR /home/container -COPY ./entrypoint.sh /entrypoint.sh - -CMD ["/bin/bash", "/entrypoint.sh"] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] From c425ab0ab407db6765fe6b0abe2af81bdd1a79f5 Mon Sep 17 00:00:00 2001 From: "Michael (Parker) Parker" Date: Mon, 14 Aug 2023 12:46:46 -0400 Subject: [PATCH 08/10] make java entrypoint executable (#176) Java: Set the file permissions to 755 --- java/entrypoint.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 java/entrypoint.sh diff --git a/java/entrypoint.sh b/java/entrypoint.sh old mode 100644 new mode 100755 From cafdcdc0f5d619e40780e479b2412625ee5fc072 Mon Sep 17 00:00:00 2001 From: mratox <143298194+mratox@users.noreply.github.com> Date: Sun, 27 Aug 2023 12:08:02 +0100 Subject: [PATCH 09/10] Added Bun Image (#179) * Add bun images --------- Co-authored-by: Quinten <67589015+QuintenQVD0@users.noreply.github.com> --- .github/workflows/bun.yml | 39 +++++++++++++++++++++++++++++++++++++++ README.md | 8 ++++++++ bun/canary/Dockerfile | 17 +++++++++++++++++ bun/entrypoint.sh | 16 ++++++++++++++++ bun/latest/Dockerfile | 17 +++++++++++++++++ 5 files changed, 97 insertions(+) create mode 100644 .github/workflows/bun.yml create mode 100644 bun/canary/Dockerfile create mode 100644 bun/entrypoint.sh create mode 100644 bun/latest/Dockerfile diff --git a/.github/workflows/bun.yml b/.github/workflows/bun.yml new file mode 100644 index 0000000..47926c9 --- /dev/null +++ b/.github/workflows/bun.yml @@ -0,0 +1,39 @@ +name: build bun +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - bun/** +jobs: + push: + name: "yolks:bun_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - latest + - canary + steps: + - uses: actions/checkout@v3 + - uses: docker/setup-qemu-action@v2 + - uses: docker/setup-buildx-action@v2 + with: + buildkitd-flags: --debug + - uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + - uses: docker/build-push-action@v4 + with: + context: ./bun + file: ./bun/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:bun_${{ matrix.tag }} diff --git a/README.md b/README.md index 1971c3f..201bd4a 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,13 @@ is tagged correctly. * [`Box64`](/box64) * `ghcr.io/parkervcp/yolks:box64` +### [Bun](/bun) + +* [`Bun Canary`](/bun/canary) + * `ghcr.io/parkervcp/yolks:bun_canary` +* [`Bun Latest`](/bun/latest) + * `ghcr.io/parkervcp/yolks:bun_latest` + ### [Cassandra](/cassandra) * [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2) @@ -176,6 +183,7 @@ is tagged correctly. * [`node20`](/nodejs/20) * `ghcr.io/parkervcp/yolks:nodejs_20` + ### [PostgreSQL](/postgres) * [`Postgres 9`](/postgres/9) diff --git a/bun/canary/Dockerfile b/bun/canary/Dockerfile new file mode 100644 index 0000000..5078d5d --- /dev/null +++ b/bun/canary/Dockerfile @@ -0,0 +1,17 @@ +FROM --platform=$TARGETOS/$TARGETARCH oven/bun:canary + +LABEL author="MrAtox" maintainer="mratox@protonmail.com" + +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 \ + && useradd -m -d /home/container container + +RUN bun upgrade + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +ENTRYPOINT [] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/bun/entrypoint.sh b/bun/entrypoint.sh new file mode 100644 index 0000000..c72ea71 --- /dev/null +++ b/bun/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash +cd /home/container + +# Make internal Docker IP address available to processes. +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + +# Print Bun Version +bun -v + +# Replace Startup Variables +MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo -e ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP} diff --git a/bun/latest/Dockerfile b/bun/latest/Dockerfile new file mode 100644 index 0000000..57cd00e --- /dev/null +++ b/bun/latest/Dockerfile @@ -0,0 +1,17 @@ +FROM --platform=$TARGETOS/$TARGETARCH oven/bun:latest + +LABEL author="MrAtox" maintainer="mratox@protonmail.com" + +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 \ + && useradd -m -d /home/container container + +RUN bun upgrade + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +ENTRYPOINT [] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] From 02aad5199cd82241859ab29fa509f6296f77bdbf Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 6 Sep 2023 19:29:47 +0200 Subject: [PATCH 10/10] Add libnss3 to nodejs (#183) * Add libnss3 to nodejs * Lock down some npm version --------- Co-authored-by: Quinten --- nodejs/12/Dockerfile | 4 ++-- nodejs/14/Dockerfile | 5 ++--- nodejs/16/Dockerfile | 4 ++-- nodejs/17/Dockerfile | 2 +- nodejs/18/Dockerfile | 4 ++-- nodejs/19/Dockerfile | 4 ++-- nodejs/20/Dockerfile | 2 +- 7 files changed, 12 insertions(+), 13 deletions(-) diff --git a/nodejs/12/Dockerfile b/nodejs/12/Dockerfile index eeee6ae..53e46e1 100644 --- a/nodejs/12/Dockerfile +++ b/nodejs/12/Dockerfile @@ -3,10 +3,10 @@ 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 \ + && 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest typescript ts-node @types/node --location=global +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/14/Dockerfile b/nodejs/14/Dockerfile index 576395b..413f301 100644 --- a/nodejs/14/Dockerfile +++ b/nodejs/14/Dockerfile @@ -3,10 +3,9 @@ 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 \ - && useradd -m -d /home/container container + && 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest typescript ts-node @types/node --location=global +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/16/Dockerfile b/nodejs/16/Dockerfile index 466efea..0f45f65 100644 --- a/nodejs/16/Dockerfile +++ b/nodejs/16/Dockerfile @@ -3,10 +3,10 @@ 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 \ + && 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest typescript ts-node @types/node --location=global +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/17/Dockerfile b/nodejs/17/Dockerfile index ab8c039..f0c7237 100644 --- a/nodejs/17/Dockerfile +++ b/nodejs/17/Dockerfile @@ -3,7 +3,7 @@ FROM --platform=$TARGETOS/$TARGETARCH node:17-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 \ + && 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 libnss3 \ && useradd -m -d /home/container container RUN npm install npm@8.11.0 typescript ts-node @types/node --location=global diff --git a/nodejs/18/Dockerfile b/nodejs/18/Dockerfile index 56e82f5..11fe5f1 100644 --- a/nodejs/18/Dockerfile +++ b/nodejs/18/Dockerfile @@ -3,10 +3,10 @@ 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 \ + && 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest typescript ts-node @types/node --location=global +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/19/Dockerfile b/nodejs/19/Dockerfile index 5768f93..ee47a86 100644 --- a/nodejs/19/Dockerfile +++ b/nodejs/19/Dockerfile @@ -3,10 +3,10 @@ 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 \ + && 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 \ && useradd -m -d /home/container container -RUN npm install npm@latest typescript ts-node @types/node --location=global +RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global USER container ENV USER=container HOME=/home/container diff --git a/nodejs/20/Dockerfile b/nodejs/20/Dockerfile index 498adda..531e253 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 \ + && 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 \ && useradd -m -d /home/container container RUN npm install npm@latest typescript ts-node @types/node --location=global