From 8a4ef8387de35150c1b8f0ce9bf6c308d2e9f595 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 10 Jan 2022 18:22:04 +0100 Subject: [PATCH 01/10] add libzip4 to base debian (#34) --- oses/debian/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oses/debian/Dockerfile b/oses/debian/Dockerfile index 270aaa5..4a73161 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 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 \ 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 + liblua5.3-0 libz-dev rapidjson-dev tzdata libevent-dev libzip4 ## Configure locale RUN update-locale lang=en_US.UTF-8 \ From f5981b736dc26229988a059365b0750a0f673320 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 22 Jan 2022 12:49:44 +0200 Subject: [PATCH 02/10] 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 03/10] 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 04/10] 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} From 91cb52ee6bab675b3108d9d5f0dc07300109e9d3 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 24 Jan 2022 16:26:20 +0100 Subject: [PATCH 05/10] feat: Redis 5 and 6 images (#39) --- .github/workflows/redis.yml | 41 +++++++++++++++++++++++++++++++++++++ README.md | 6 ++++++ redis/5/Dockerfile | 20 ++++++++++++++++++ redis/6/Dockerfile | 20 ++++++++++++++++++ redis/entrypoint.sh | 12 +++++++++++ 5 files changed, 99 insertions(+) create mode 100644 .github/workflows/redis.yml create mode 100644 redis/5/Dockerfile create mode 100644 redis/6/Dockerfile create mode 100644 redis/entrypoint.sh diff --git a/.github/workflows/redis.yml b/.github/workflows/redis.yml new file mode 100644 index 0000000..d1a7552 --- /dev/null +++ b/.github/workflows/redis.yml @@ -0,0 +1,41 @@ +name: build redis +on: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - redis/** +jobs: + push: + name: "yolks:redis_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - 5 + - 6 + 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: + egistry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + - uses: docker/build-push-action@v2 + with: + context: ./redis + file: ./redis/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:redis_${{ matrix.tag }} diff --git a/README.md b/README.md index fda8e95..b7e770c 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,12 @@ is tagged correctly. * [`python3.10`](/python/3.10) * `ghcr.io/parkervcp/yolks:python_3.10` +### [Redis](/redis) + * [`Redis 5`](/redis/5) + * `ghcr.io/parkervcp/yolks:redis_5` + * [`Redis 6`](/redis/6) + * `ghcr.io/parkervcp/yolks:redis_6` + ### [Voice](/voice) * [`TeaSpeak`](/teaspeak) diff --git a/redis/5/Dockerfile b/redis/5/Dockerfile new file mode 100644 index 0000000..f1ddfc3 --- /dev/null +++ b/redis/5/Dockerfile @@ -0,0 +1,20 @@ +# ---------------------------------- +# Environment: redis +# ---------------------------------- +FROM redis:5-bullseye + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt -y update && \ + apt -y upgrade && \ + apt -y install iproute2 && \ + 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"] \ No newline at end of file diff --git a/redis/6/Dockerfile b/redis/6/Dockerfile new file mode 100644 index 0000000..547dd17 --- /dev/null +++ b/redis/6/Dockerfile @@ -0,0 +1,20 @@ +# ---------------------------------- +# Environment: redis +# ---------------------------------- +FROM redis:6-bullseye + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt -y update && \ + apt -y upgrade && \ + apt -y install iproute2 && \ + 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"] \ No newline at end of file diff --git a/redis/entrypoint.sh b/redis/entrypoint.sh new file mode 100644 index 0000000..e0ae99e --- /dev/null +++ b/redis/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 -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP} From 68ef32ee2a3fd2363fcfb4393545af7485805359 Mon Sep 17 00:00:00 2001 From: softwarenoob Date: Mon, 24 Jan 2022 17:41:43 +0200 Subject: [PATCH 06/10] ci(redis): fix registry typo --- .github/workflows/redis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/redis.yml b/.github/workflows/redis.yml index d1a7552..9752964 100644 --- a/.github/workflows/redis.yml +++ b/.github/workflows/redis.yml @@ -28,7 +28,7 @@ jobs: buildkitd-flags: --debug - uses: docker/login-action@v1 with: - egistry: ghcr.io + registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.REGISTRY_TOKEN }} - uses: docker/build-push-action@v2 From c263e42dacc94f6edbea3bc32afd041ad9069017 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Tue, 25 Jan 2022 16:08:35 +0100 Subject: [PATCH 07/10] feat: add PostgreSQL/MongoDB Images and fix multiarch (#40) add PostgreSQL/MongoDB Images and fixes multi-arch builds for MariaDB, Redis. --- .github/workflows/mongodb.yml | 41 +++++++++++++++++++++++++++++++ .github/workflows/postgres.yml | 45 ++++++++++++++++++++++++++++++++++ README.md | 20 +++++++++++++++ mariadb/10.3/Dockerfile | 2 +- mariadb/10.4/Dockerfile | 2 +- mariadb/10.5/Dockerfile | 2 +- mariadb/10.6/Dockerfile | 2 +- mariadb/10.7/Dockerfile | 2 +- mongodb/4/Dockerfile | 19 ++++++++++++++ mongodb/5/Dockerfile | 19 ++++++++++++++ mongodb/entrypoint.sh | 12 +++++++++ postgres/10/Dockerfile | 16 ++++++++++++ postgres/11/Dockerfile | 16 ++++++++++++ postgres/12/Dockerfile | 16 ++++++++++++ postgres/13/Dockerfile | 16 ++++++++++++ postgres/14/Dockerfile | 16 ++++++++++++ postgres/9/Dockerfile | 16 ++++++++++++ postgres/entrypoint.sh | 15 ++++++++++++ redis/5/Dockerfile | 2 +- redis/6/Dockerfile | 2 +- 20 files changed, 274 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/mongodb.yml create mode 100644 .github/workflows/postgres.yml create mode 100644 mongodb/4/Dockerfile create mode 100644 mongodb/5/Dockerfile create mode 100644 mongodb/entrypoint.sh create mode 100644 postgres/10/Dockerfile create mode 100644 postgres/11/Dockerfile create mode 100644 postgres/12/Dockerfile create mode 100644 postgres/13/Dockerfile create mode 100644 postgres/14/Dockerfile create mode 100644 postgres/9/Dockerfile create mode 100644 postgres/entrypoint.sh diff --git a/.github/workflows/mongodb.yml b/.github/workflows/mongodb.yml new file mode 100644 index 0000000..71c2d89 --- /dev/null +++ b/.github/workflows/mongodb.yml @@ -0,0 +1,41 @@ +name: build mongodb +on: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - mongodb/** +jobs: + push: + name: "yolks:mongodb_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - 4 + - 5 + 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: ./mongodb + file: ./mongodb/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:mongodb_${{ matrix.tag }} diff --git a/.github/workflows/postgres.yml b/.github/workflows/postgres.yml new file mode 100644 index 0000000..984e616 --- /dev/null +++ b/.github/workflows/postgres.yml @@ -0,0 +1,45 @@ +name: build postgres +on: + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - postgres/** +jobs: + push: + name: "yolks:postgres_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - 9 + - 10 + - 11 + - 12 + - 13 + - 14 + 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: ./postgres + file: ./postgres/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:postgres_${{ matrix.tag }} diff --git a/README.md b/README.md index b7e770c..c3578f3 100644 --- a/README.md +++ b/README.md @@ -118,6 +118,12 @@ is tagged correctly. * [`MariaDB 10.7`](/mariadb/10.7) * `ghcr.io/parkervcp/yolks:mariadb_10.7` +### [MongoDB](/mongodb) + * [`MongoDB 4`](/mongodb/4) + * `ghcr.io/parkervcp/yolks:mongodb_4` + * [`MongoDB 5`](/mongodb/5) + * `ghcr.io/parkervcp/yolks:mongodb_5` + ### [Mono](/mono) * [`mono_latest`](/mono/latest) * `ghcr.io/parkervcp/yolks:mono_latest` @@ -133,6 +139,20 @@ is tagged correctly. * [`node17`](/nodejs/17) * `ghcr.io/parkervcp/yolks:nodejs_17` +### [PostgreSQL](/postgres) + * [`Postgres 9`](/postgres/9) + * `ghcr.io/parkervcp/yolks:postgres_9` + * [`Postgres 10`](/postgres/10) + * `ghcr.io/parkervcp/yolks:postgres_10` + * [`Postgres 11`](/postgres/11) + * `ghcr.io/parkervcp/yolks:postgres_11` + * [`Postgres 12`](/postgres/12) + * `ghcr.io/parkervcp/yolks:postgres_12` + * [`Postgres 13`](/postgres/13) + * `ghcr.io/parkervcp/yolks:postgres_13` + * [`Postgres 14`](/postgres/14) + * `ghcr.io/parkervcp/yolks:postgres_14` + ### [Python](/python) * [`python3.7`](/python/3.7) diff --git a/mariadb/10.3/Dockerfile b/mariadb/10.3/Dockerfile index f5948c8..ef1ea23 100644 --- a/mariadb/10.3/Dockerfile +++ b/mariadb/10.3/Dockerfile @@ -1,7 +1,7 @@ # ----------------------------------------------------- # MariaDB Image for Pterodactyl # ----------------------------------------------------- -FROM mariadb:10.3 +FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.3 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/mariadb/10.4/Dockerfile b/mariadb/10.4/Dockerfile index fdd6712..5f0193c 100644 --- a/mariadb/10.4/Dockerfile +++ b/mariadb/10.4/Dockerfile @@ -1,7 +1,7 @@ # ----------------------------------------------------- # MariaDB Image for Pterodactyl # ----------------------------------------------------- -FROM mariadb:10.4 +FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.4 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/mariadb/10.5/Dockerfile b/mariadb/10.5/Dockerfile index 3e18fa9..f990e81 100644 --- a/mariadb/10.5/Dockerfile +++ b/mariadb/10.5/Dockerfile @@ -1,7 +1,7 @@ # ----------------------------------------------------- # MariaDB Image for Pterodactyl # ----------------------------------------------------- -FROM mariadb:10.5 +FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.5 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/mariadb/10.6/Dockerfile b/mariadb/10.6/Dockerfile index a9fc85e..e4adf95 100644 --- a/mariadb/10.6/Dockerfile +++ b/mariadb/10.6/Dockerfile @@ -1,7 +1,7 @@ # ----------------------------------------------------- # MariaDB Image for Pterodactyl # ----------------------------------------------------- -FROM mariadb:10.6 +FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.6 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/mariadb/10.7/Dockerfile b/mariadb/10.7/Dockerfile index 125f99d..f05b006 100644 --- a/mariadb/10.7/Dockerfile +++ b/mariadb/10.7/Dockerfile @@ -1,7 +1,7 @@ # ----------------------------------------------------- # MariaDB Image for Pterodactyl # ----------------------------------------------------- -FROM mariadb:10.7 +FROM --platform=$TARGETOS/$TARGETARCH mariadb:10.7 LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/mongodb/4/Dockerfile b/mongodb/4/Dockerfile new file mode 100644 index 0000000..52b6885 --- /dev/null +++ b/mongodb/4/Dockerfile @@ -0,0 +1,19 @@ +# ---------------------------------- +# Environment: MongoDB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH mongo:4-focal + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat iproute2 \ + && 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/mongodb/5/Dockerfile b/mongodb/5/Dockerfile new file mode 100644 index 0000000..0b70021 --- /dev/null +++ b/mongodb/5/Dockerfile @@ -0,0 +1,19 @@ +# ---------------------------------- +# Environment: MongoDB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH mongo:5-focal + +LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" + +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y netcat iproute2 \ + && 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/mongodb/entrypoint.sh b/mongodb/entrypoint.sh new file mode 100644 index 0000000..cd80a9a --- /dev/null +++ b/mongodb/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} diff --git a/postgres/10/Dockerfile b/postgres/10/Dockerfile new file mode 100644 index 0000000..44467e1 --- /dev/null +++ b/postgres/10/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:10-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/11/Dockerfile b/postgres/11/Dockerfile new file mode 100644 index 0000000..7b0b6a0 --- /dev/null +++ b/postgres/11/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ----------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:11-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/12/Dockerfile b/postgres/12/Dockerfile new file mode 100644 index 0000000..ee9075e --- /dev/null +++ b/postgres/12/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:12-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/13/Dockerfile b/postgres/13/Dockerfile new file mode 100644 index 0000000..9d6d418 --- /dev/null +++ b/postgres/13/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:13-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/14/Dockerfile b/postgres/14/Dockerfile new file mode 100644 index 0000000..77c1fee --- /dev/null +++ b/postgres/14/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:14-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/9/Dockerfile b/postgres/9/Dockerfile new file mode 100644 index 0000000..c410d10 --- /dev/null +++ b/postgres/9/Dockerfile @@ -0,0 +1,16 @@ +# ---------------------------------- +# Environment: Postgres DB +# ---------------------------------- +FROM --platform=$TARGETOS/$TARGETARCH postgres:9-alpine + +LABEL author="Parker" maintainer="parker@pterodactyl.io" + +# UID 999 is the default pterodactyl user +RUN adduser -D -h /home/container container + +USER container +ENV HOME /home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/postgres/entrypoint.sh b/postgres/entrypoint.sh new file mode 100644 index 0000000..0a72c42 --- /dev/null +++ b/postgres/entrypoint.sh @@ -0,0 +1,15 @@ +#!/bin/ash +cd /home/container + +#output current postgres version +postgres --version + +# Make internal Docker IP address available to processes. +export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` + +# Replace Startup Variables +MODIFIED_STARTUP=`eval echo $(echo ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g')` +echo ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP} diff --git a/redis/5/Dockerfile b/redis/5/Dockerfile index f1ddfc3..0bf23ec 100644 --- a/redis/5/Dockerfile +++ b/redis/5/Dockerfile @@ -1,7 +1,7 @@ # ---------------------------------- # Environment: redis # ---------------------------------- -FROM redis:5-bullseye +FROM --platform=$TARGETOS/$TARGETARCH redis:5-bullseye LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" diff --git a/redis/6/Dockerfile b/redis/6/Dockerfile index 547dd17..6e253e4 100644 --- a/redis/6/Dockerfile +++ b/redis/6/Dockerfile @@ -1,7 +1,7 @@ # ---------------------------------- # Environment: redis # ---------------------------------- -FROM redis:6-bullseye +FROM --platform=$TARGETOS/$TARGETARCH redis:6-bullseye LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" From a93590f3a1b01ce56fe0e9efca93470e02bdbb59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emil=20Gardstr=C3=B6m?= Date: Tue, 1 Feb 2022 22:48:21 +0100 Subject: [PATCH 08/10] change startup parsing to eval done for similar reason as 2e366792c15eba443cea2b7ea38abf396d9f9c31 --- java/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/entrypoint.sh b/java/entrypoint.sh index 012d126..b6d29da 100644 --- a/java/entrypoint.sh +++ b/java/entrypoint.sh @@ -46,4 +46,4 @@ PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat # from the container itself. printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED" # shellcheck disable=SC2086 -exec env ${PARSED} +eval ${PARSED} From 7caf182f27bec37cf0b5de839f54d6cd67a4f641 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Thu, 3 Feb 2022 17:32:47 +0100 Subject: [PATCH 09/10] update repo url to debian 11 (#42) --- dotnet/2.1/Dockerfile | 2 +- dotnet/3.1/Dockerfile | 2 +- dotnet/5/Dockerfile | 2 +- dotnet/6/Dockerfile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dotnet/2.1/Dockerfile b/dotnet/2.1/Dockerfile index f5167b6..f85a2c4 100644 --- a/dotnet/2.1/Dockerfile +++ b/dotnet/2.1/Dockerfile @@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt update -y \ && apt upgrade -y \ && apt install -y apt-transport-https wget iproute2 \ - && wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && apt update -y \ diff --git a/dotnet/3.1/Dockerfile b/dotnet/3.1/Dockerfile index b63d1a1..1dae74c 100644 --- a/dotnet/3.1/Dockerfile +++ b/dotnet/3.1/Dockerfile @@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt update -y \ && apt upgrade -y \ && apt install -y apt-transport-https wget iproute2 \ - && wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && apt update -y \ diff --git a/dotnet/5/Dockerfile b/dotnet/5/Dockerfile index 7a3d14b..934d73e 100644 --- a/dotnet/5/Dockerfile +++ b/dotnet/5/Dockerfile @@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt update -y \ && apt upgrade -y \ && apt install -y apt-transport-https wget iproute2 \ - && wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && apt update -y \ diff --git a/dotnet/6/Dockerfile b/dotnet/6/Dockerfile index 8731c4c..38307bd 100644 --- a/dotnet/6/Dockerfile +++ b/dotnet/6/Dockerfile @@ -7,7 +7,7 @@ ENV DEBIAN_FRONTEND noninteractive RUN apt update -y \ && apt upgrade -y \ && apt install -y apt-transport-https wget iproute2 \ - && wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && apt update -y \ From ab9fecc7641240bcbb72a5db0e14b5a5ed0c3a15 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Sat, 19 Feb 2022 16:45:52 +0100 Subject: [PATCH 10/10] feat: add altv game image (#43) --- .github/workflows/games.yml | 1 + README.md | 2 ++ games/altv/Dockerfile | 31 +++++++++++++++++++++++++++++++ games/altv/entrypoint.sh | 12 ++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 games/altv/Dockerfile create mode 100644 games/altv/entrypoint.sh diff --git a/.github/workflows/games.yml b/.github/workflows/games.yml index 4ca3a3a..2a84791 100644 --- a/.github/workflows/games.yml +++ b/.github/workflows/games.yml @@ -16,6 +16,7 @@ jobs: fail-fast: false matrix: game: + - altv - arma3 - source steps: diff --git a/README.md b/README.md index c3578f3..9d54cf5 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,8 @@ is tagged correctly. ### [Games](/games) +* [`altv`](/games/altv) + * `ghcr.io/parkervcp/games:altv` * [`arma3`](/games/arma3) * `ghcr.io/parkervcp/games:arma3` * [`source`](/games/source) diff --git a/games/altv/Dockerfile b/games/altv/Dockerfile new file mode 100644 index 0000000..0063e6f --- /dev/null +++ b/games/altv/Dockerfile @@ -0,0 +1,31 @@ +# ---------------------------------- +# Environment: debian +# ---------------------------------- +FROM node:16-bullseye + +LABEL author="goover" maintainer="info@goover.de" + +ENV DEBIAN_FRONTEND noninteractive + +RUN useradd -m -d /home/container -s /bin/bash container + +RUN apt update -y \ + && apt upgrade -y \ + && apt install -y gcc g++ libgcc-s1 lib32gcc-s1 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 \ + 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 + +RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ + && dpkg -i packages-microsoft-prod.deb \ + && apt update -y \ + && apt install -y dotnet-sdk-5.0 dotnet-sdk-6.0 libgdiplus + +RUN update-locale lang=en_US.UTF-8 \ + && dpkg-reconfigure --frontend noninteractive locales + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/games/altv/entrypoint.sh b/games/altv/entrypoint.sh new file mode 100644 index 0000000..d9f5b44 --- /dev/null +++ b/games/altv/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 -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo -e ":/home/container$ ${MODIFIED_STARTUP}" + +# Run the Server +eval ${MODIFIED_STARTUP} \ No newline at end of file