From 91cb52ee6bab675b3108d9d5f0dc07300109e9d3 Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Mon, 24 Jan 2022 16:26:20 +0100 Subject: [PATCH] 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}