From f5981b736dc26229988a059365b0750a0f673320 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 22 Jan 2022 12:49:44 +0200 Subject: [PATCH 1/3] feat(base_debian): remove lib32gcc-s1 for ARM support (#36) --- .github/workflows/base.yml | 3 ++- oses/alpine/Dockerfile | 2 +- oses/debian/Dockerfile | 4 ++-- oses/ubuntu/Dockerfile | 10 +++++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml index 98f8534..6bfa0e6 100644 --- a/.github/workflows/base.yml +++ b/.github/workflows/base.yml @@ -21,6 +21,7 @@ jobs: - ubuntu steps: - uses: actions/checkout@v2 + - uses: docker/setup-qemu-action@v1 - uses: docker/setup-buildx-action@v1 with: version: "v0.5.1" @@ -34,7 +35,7 @@ jobs: with: context: ./oses/${{ matrix.oses }} file: ./oses/${{ matrix.oses }}/Dockerfile - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 push: true tags: | ghcr.io/parkervcp/yolks:${{ matrix.oses }} diff --git a/oses/alpine/Dockerfile b/oses/alpine/Dockerfile index 9625a87..b7badc9 100644 --- a/oses/alpine/Dockerfile +++ b/oses/alpine/Dockerfile @@ -20,7 +20,7 @@ # SOFTWARE. # -FROM --platform=$BUILDPLATFORM alpine:latest +FROM --platform=$TARGETOS/$TARGETARCH alpine:latest LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" diff --git a/oses/debian/Dockerfile b/oses/debian/Dockerfile index 4a73161..e7a48ba 100644 --- a/oses/debian/Dockerfile +++ b/oses/debian/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bullseye-slim +FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -18,7 +18,7 @@ RUN apt update \ && apt upgrade -y ## Install dependencies -RUN apt install -y gcc g++ libgcc1 lib32gcc-s1 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 \ +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 diff --git a/oses/ubuntu/Dockerfile b/oses/ubuntu/Dockerfile index d6f3a62..63ff9ab 100644 --- a/oses/ubuntu/Dockerfile +++ b/oses/ubuntu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM --platform=$TARGETOS/$TARGETARCH ubuntu:18.04 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" @@ -9,18 +9,18 @@ RUN useradd -m -d /home/container -s /bin/bash container ## update base packages RUN apt update \ - && apt upgrade -y + && apt upgrade -y ## install dependencies -RUN apt install -y gcc g++ libgcc1 lib32gcc1 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 \ +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 libicu60 libiculx60 icu-devtools libunwind8 libssl1.0.0 libssl1.0-dev sqlite3 libsqlite3-dev libmariadbclient-dev libduktape202 libzip4 locales ffmpeg apt-transport-https init-system-helpers \ libcurl3-gnutls libjsoncpp1 libleveldb1v5 liblua5.1-0 libluajit-5.1-2 libsqlite3-0 libfluidsynth1 bzip2 zlib1g libevent-dev ## configure locale RUN update-locale lang=en_US.UTF-8 \ - && dpkg-reconfigure --frontend noninteractive locales + && dpkg-reconfigure --frontend noninteractive locales WORKDIR /home/container COPY ./entrypoint.sh /entrypoint.sh -CMD ["/bin/bash", "/entrypoint.sh"] +CMD [ "/bin/bash", "/entrypoint.sh" ] From 6ca451ec48d3ad27c6a04963807be41d0aa20e3d Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 22 Jan 2022 13:00:09 +0200 Subject: [PATCH 2/3] feat(mono): install lib32gcc-s1 for steam (#37) --- mono/latest/Dockerfile | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/mono/latest/Dockerfile b/mono/latest/Dockerfile index 041d65a..c012146 100644 --- a/mono/latest/Dockerfile +++ b/mono/latest/Dockerfile @@ -1,7 +1,3 @@ -# ---------------------------------- -# Mono Latest Image -# Minimum Panel Version: 1.2.x -# ---------------------------------- FROM ghcr.io/parkervcp/yolks:debian LABEL author="Torsten Widmann" maintainer="support@goover.de" @@ -12,11 +8,11 @@ RUN apt install -y fontconfig dirmngr RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF RUN sh -c 'echo "deb https://download.mono-project.com/repo/debian stable-buster main" > /etc/apt/sources.list.d/mono-official-stable.list' RUN apt update -RUN apt install mono-complete -y +RUN apt install -y mono-complete lib32gcc-s1 USER container ENV USER=container HOME=/home/container WORKDIR /home/container COPY ./entrypoint.sh /entrypoint.sh -CMD ["/bin/bash", "/entrypoint.sh"] +CMD [ "/bin/bash", "/entrypoint.sh" ] From fc453017ff671da1871e63ec1328352f72976353 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Sun, 23 Jan 2022 14:58:11 +0100 Subject: [PATCH 3/3] feat: add MariaDB Images (#38) --- .github/workflows/mariadb.yml | 44 +++++++++++++++++++++++++++++++++++ README.md | 13 ++++++++++- mariadb/10.3/Dockerfile | 19 +++++++++++++++ mariadb/10.4/Dockerfile | 19 +++++++++++++++ mariadb/10.5/Dockerfile | 19 +++++++++++++++ mariadb/10.6/Dockerfile | 19 +++++++++++++++ mariadb/10.7/Dockerfile | 19 +++++++++++++++ mariadb/entrypoint.sh | 12 ++++++++++ 8 files changed, 163 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/mariadb.yml create mode 100644 mariadb/10.3/Dockerfile create mode 100644 mariadb/10.4/Dockerfile create mode 100644 mariadb/10.5/Dockerfile create mode 100644 mariadb/10.6/Dockerfile create mode 100644 mariadb/10.7/Dockerfile create mode 100644 mariadb/entrypoint.sh diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml new file mode 100644 index 0000000..e29534e --- /dev/null +++ b/.github/workflows/mariadb.yml @@ -0,0 +1,44 @@ +name: build mariadb +on: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - mariadb/** +jobs: + push: + name: "yolks:mariadb_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - '10.3' + - '10.4' + - '10.5' + - '10.6' + - '10.7' + steps: + - uses: actions/checkout@v2 + - uses: docker/setup-qemu-action@v1 + - uses: docker/setup-buildx-action@v1 + with: + version: "v0.5.1" + buildkitd-flags: --debug + - uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + - uses: docker/build-push-action@v2 + with: + context: ./mariadb + file: ./mariadb/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:mariadb_${{ matrix.tag }} diff --git a/README.md b/README.md index c2b666b..fda8e95 100644 --- a/README.md +++ b/README.md @@ -106,8 +106,19 @@ is tagged correctly. * [`java17`](/java/17) * `ghcr.io/parkervcp/yolks:java_17` -### [Mono](/mono) +### [MariaDB](/mariadb) + * [`MariaDB 10.3`](/mariadb/10.3) + * `ghcr.io/parkervcp/yolks:mariadb_10.3` + * [`MariaDB 10.4`](/mariadb/10.4) + * `ghcr.io/parkervcp/yolks:mariadb_10.4` + * [`MariaDB 10.5`](/mariadb/10.5) + * `ghcr.io/parkervcp/yolks:mariadb_10.5` + * [`MariaDB 10.6`](/mariadb/10.6) + * `ghcr.io/parkervcp/yolks:mariadb_10.6` + * [`MariaDB 10.7`](/mariadb/10.7) + * `ghcr.io/parkervcp/yolks:mariadb_10.7` +### [Mono](/mono) * [`mono_latest`](/mono/latest) * `ghcr.io/parkervcp/yolks:mono_latest` diff --git a/mariadb/10.3/Dockerfile b/mariadb/10.3/Dockerfile new file mode 100644 index 0000000..f5948c8 --- /dev/null +++ b/mariadb/10.3/Dockerfile @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# MariaDB Image for Pterodactyl +# ----------------------------------------------------- +FROM mariadb:10.3 + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat \ + && useradd -d /home/container -m container -s /bin/bash + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/mariadb/10.4/Dockerfile b/mariadb/10.4/Dockerfile new file mode 100644 index 0000000..fdd6712 --- /dev/null +++ b/mariadb/10.4/Dockerfile @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# MariaDB Image for Pterodactyl +# ----------------------------------------------------- +FROM mariadb:10.4 + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat \ + && useradd -d /home/container -m container -s /bin/bash + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/mariadb/10.5/Dockerfile b/mariadb/10.5/Dockerfile new file mode 100644 index 0000000..3e18fa9 --- /dev/null +++ b/mariadb/10.5/Dockerfile @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# MariaDB Image for Pterodactyl +# ----------------------------------------------------- +FROM mariadb:10.5 + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat \ + && useradd -d /home/container -m container -s /bin/bash + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/mariadb/10.6/Dockerfile b/mariadb/10.6/Dockerfile new file mode 100644 index 0000000..a9fc85e --- /dev/null +++ b/mariadb/10.6/Dockerfile @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# MariaDB Image for Pterodactyl +# ----------------------------------------------------- +FROM mariadb:10.6 + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat \ + && useradd -d /home/container -m container -s /bin/bash + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/mariadb/10.7/Dockerfile b/mariadb/10.7/Dockerfile new file mode 100644 index 0000000..125f99d --- /dev/null +++ b/mariadb/10.7/Dockerfile @@ -0,0 +1,19 @@ +# ----------------------------------------------------- +# MariaDB Image for Pterodactyl +# ----------------------------------------------------- +FROM mariadb:10.7 + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat \ + && useradd -d /home/container -m container -s /bin/bash + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/mariadb/entrypoint.sh b/mariadb/entrypoint.sh new file mode 100644 index 0000000..cd80a9a --- /dev/null +++ b/mariadb/entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/bash +cd /home/container + +# Make internal Docker IP address available to processes. +export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` + +# Replace Startup Variables +MODIFIED_STARTUP=$(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP}