From d514f5944011a24e946a1bf8b7ee0fe4a5eb0a2e Mon Sep 17 00:00:00 2001 From: Quinten <67589015+QuintenQVD0@users.noreply.github.com> Date: Wed, 6 Sep 2023 19:46:09 +0200 Subject: [PATCH 1/5] Fix nodejs 14 build I messed up and forgot a line break and now apt is failing --- nodejs/14/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nodejs/14/Dockerfile b/nodejs/14/Dockerfile index 413f301..5ba97e2 100644 --- a/nodejs/14/Dockerfile +++ b/nodejs/14/Dockerfile @@ -3,7 +3,8 @@ FROM --platform=$TARGETOS/$TARGETARCH node:14-bullseye-slim LABEL author="Michael Parker" maintainer="parker@pterodactyl.io" RUN apt update \ - && apt -y install ffmpeg iproute2 git sqlite3 libsqlite3-dev python3 python3-dev ca-certificates dnsutils tzdata zip tar curl build-essential libtool iputils-ping libnss3 \ && 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@9.8.1 typescript ts-node @types/node --location=global From 02a50118ef1abe32c35ff4241a57a56fa68bb6ee Mon Sep 17 00:00:00 2001 From: MrAvox <143508913+avoxmr@users.noreply.github.com> Date: Fri, 22 Sep 2023 19:01:34 +0100 Subject: [PATCH 2/5] Added Elixir images (#182) --- .github/workflows/elixir.yml | 42 ++++++++++++++++++++++++++++++++++++ README.md | 13 +++++++++++ elixir/1.12/Dockerfile | 15 +++++++++++++ elixir/1.13/Dockerfile | 15 +++++++++++++ elixir/1.14/Dockerfile | 15 +++++++++++++ elixir/1.15/Dockerfile | 15 +++++++++++++ elixir/entrypoint.sh | 16 ++++++++++++++ elixir/latest/Dockerfile | 15 +++++++++++++ 8 files changed, 146 insertions(+) create mode 100644 .github/workflows/elixir.yml create mode 100644 elixir/1.12/Dockerfile create mode 100644 elixir/1.13/Dockerfile create mode 100644 elixir/1.14/Dockerfile create mode 100644 elixir/1.15/Dockerfile create mode 100644 elixir/entrypoint.sh create mode 100644 elixir/latest/Dockerfile diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml new file mode 100644 index 0000000..87d6fb0 --- /dev/null +++ b/.github/workflows/elixir.yml @@ -0,0 +1,42 @@ +name: build elixir +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - elixir/** +jobs: + push: + name: "yolks:elixir_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - '1.15' + - '1.14' + - '1.13' + - '1.12' + - latest + 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: ./elixir + file: ./elixir/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:elixir_${{ matrix.tag }} diff --git a/README.md b/README.md index 201bd4a..a3ac45e 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,19 @@ is tagged correctly. * [`dotnet7.0`](/dotnet/7) * `ghcr.io/parkervcp/yolks:dotnet_7` +### [Elixir](/elixir) + +* [`elixir 1.12`](/elixir/1.12) + * `ghcr.io/parkervcp/yolks:elixir_1.12` +* [`elixir 1.13`](/elixir/1.13) + * `ghcr.io/parkervcp/yolks:elixir_1.13` +* [`elixir 1.14`](/elixir/1.14) + * `ghcr.io/parkervcp/yolks:elixir_1.14` +* [`elixir 1.15`](/elixir/1.12) + * `ghcr.io/parkervcp/yolks:elixir_1.15` +* [`elixir latest`](/elixir/latest) + * `ghcr.io/parkervcp/yolks:elixir_latest` + ### [Erlang](/erlang) * [`erlang22`](/erlang/22) diff --git a/elixir/1.12/Dockerfile b/elixir/1.12/Dockerfile new file mode 100644 index 0000000..35cc661 --- /dev/null +++ b/elixir/1.12/Dockerfile @@ -0,0 +1,15 @@ +FROM --platform=$TARGETOS/$TARGETARCH elixir:1.12.3-slim + +LABEL author="MrAvox" maintainer="mravox@proton.me" + +RUN apt update \ + && apt -y install git dnsutils curl iproute2 ffmpeg \ + && useradd -m -d /home/container container + +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/elixir/1.13/Dockerfile b/elixir/1.13/Dockerfile new file mode 100644 index 0000000..79cc3dc --- /dev/null +++ b/elixir/1.13/Dockerfile @@ -0,0 +1,15 @@ +FROM --platform=$TARGETOS/$TARGETARCH elixir:1.13.4-slim + +LABEL author="MrAvox" maintainer="mravox@proton.me" + +RUN apt update \ + && apt -y install git dnsutils curl iproute2 ffmpeg \ + && useradd -m -d /home/container container + +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/elixir/1.14/Dockerfile b/elixir/1.14/Dockerfile new file mode 100644 index 0000000..f5f08ca --- /dev/null +++ b/elixir/1.14/Dockerfile @@ -0,0 +1,15 @@ +FROM --platform=$TARGETOS/$TARGETARCH elixir:1.14.5-slim + +LABEL author="MrAvox" maintainer="mravox@proton.me" + +RUN apt update \ + && apt -y install git dnsutils curl iproute2 ffmpeg \ + && useradd -m -d /home/container container + +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/elixir/1.15/Dockerfile b/elixir/1.15/Dockerfile new file mode 100644 index 0000000..2449340 --- /dev/null +++ b/elixir/1.15/Dockerfile @@ -0,0 +1,15 @@ +FROM --platform=$TARGETOS/$TARGETARCH elixir:1.15.4-slim + +LABEL author="MrAvox" maintainer="mravox@proton.me" + +RUN apt update \ + && apt -y install git dnsutils curl iproute2 ffmpeg \ + && useradd -m -d /home/container container + +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/elixir/entrypoint.sh b/elixir/entrypoint.sh new file mode 100644 index 0000000..39f8bab --- /dev/null +++ b/elixir/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 + +# Replace Startup Variables +MODIFIED_STARTUP=$(echo -e ${STARTUP} | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo -e ":/home/container$ ${MODIFIED_STARTUP}" + +# Print Elixir Version +elixir -e 'IO.puts "Elixir " <> System.version()' + +# Run the Server +eval ${MODIFIED_STARTUP} diff --git a/elixir/latest/Dockerfile b/elixir/latest/Dockerfile new file mode 100644 index 0000000..1eeb9f5 --- /dev/null +++ b/elixir/latest/Dockerfile @@ -0,0 +1,15 @@ +FROM --platform=$TARGETOS/$TARGETARCH elixir:slim + +LABEL author="MrAvox" maintainer="mravox@proton.me" + +RUN apt update \ + && apt -y install git dnsutils curl iproute2 ffmpeg \ + && useradd -m -d /home/container container + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +ENTRYPOINT [] +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] From ede7b446247a9fafa32d3a9049699894c5e17b13 Mon Sep 17 00:00:00 2001 From: gOOvER <116325+gOOvER@users.noreply.github.com> Date: Mon, 25 Sep 2023 18:00:34 +0200 Subject: [PATCH 3/5] add uptime kuma image --- .github/workflows/apps.yml | 42 ++++++++++++++++++++++++++++++++ apps/uptimekuma/Dockerfile | 46 +++++++++++++++++++++++++++++++++++ apps/uptimekuma/entrypoint.sh | 38 +++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 .github/workflows/apps.yml create mode 100644 apps/uptimekuma/Dockerfile create mode 100644 apps/uptimekuma/entrypoint.sh diff --git a/.github/workflows/apps.yml b/.github/workflows/apps.yml new file mode 100644 index 0000000..3be9908 --- /dev/null +++ b/.github/workflows/apps.yml @@ -0,0 +1,42 @@ +name: build apps +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - apps/** +jobs: + push: + name: "yolks:apps_${{ matrix.app }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + app: + - uptimekuma + steps: + - uses: actions/checkout@v3 + + - uses: docker/setup-qemu-action@v3 + + - uses: docker/setup-buildx-action@v3 + with: + buildkitd-flags: --debug + + - uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.REGISTRY_TOKEN }} + + - uses: docker/build-push-action@v5 + with: + context: ./apps/${{ matrix.app }} + file: ./apps/${{ matrix.app }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/apps:${{ matrix.app }} diff --git a/apps/uptimekuma/Dockerfile b/apps/uptimekuma/Dockerfile new file mode 100644 index 0000000..a206e18 --- /dev/null +++ b/apps/uptimekuma/Dockerfile @@ -0,0 +1,46 @@ +FROM --platform=$TARGETOS/$TARGETARCH node:18-alpine + +LABEL author="Torsten Widmann" maintainer="info@goover.de" +LABEL org.opencontainers.image.source="https://github.com/gOOvER/own-pterodactyl-images" +LABEL org.opencontainers.image.licenses=MIT + +RUN apk update \ + && apk upgrade + +RUN apk add --no-cache \ + autoconf \ + automake \ + build-base \ + ca-certificates\ + curl \ + bind-tools \ + ffmpeg \ + g++ \ + git \ + gpg \ + gnupg \ + iproute2 \ + iputils-ping \ + libtool \ + python3 \ + python3-dev \ + sqlite \ + tzdata \ + zip \ + libc6-compat + +# updating npm +RUN npm install npm@latest -g + +# add cloudflare repo +RUN curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/bin/cloudflared \ + && chmod+x /usr/bin/cloudflared + +## Setup user and working directory +RUN adduser -D -h /home/container container -s /bin/bash container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/ash", "/entrypoint.sh"] diff --git a/apps/uptimekuma/entrypoint.sh b/apps/uptimekuma/entrypoint.sh new file mode 100644 index 0000000..0d9fb72 --- /dev/null +++ b/apps/uptimekuma/entrypoint.sh @@ -0,0 +1,38 @@ +#!/bin/ash +#System variables +clear +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +BLUE='\033[0;34m' +NC='\033[0m' + +# Switch to the container's working directory +cd /home/container || exit 1 + +# Wait for the container to fully initialize +sleep 1 + +# Default the TZ environment variable to UTC. +TZ=${TZ:-UTC} +export TZ + +# Set environment variable that holds the Internal Docker IP +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + +# system informations +echo -e "${BLUE}-------------------------------------------------${NC}" +echo -e "${RED}Uptime Kuma Image${NC}" +echo -e "${BLUE}-------------------------------------------------${NC}" +echo -e "${YELLOW}Running on Alpine: ${RED} $(cat /etc/alpine-release)${NC}" +echo -e "${YELLOW}Current timezone: ${RED} $(cat /etc/localtime)${NC}" +echo -e "${YELLOW}NodeJS Version: ${RED} $(node -v) ${NC}" +echo -e "${BLUE}-------------------------------------------------${NC}" + +# 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 4b53378f4d69ed9f508ca5dcc1685cd607e366e9 Mon Sep 17 00:00:00 2001 From: gOOvER <116325+gOOvER@users.noreply.github.com> Date: Mon, 25 Sep 2023 18:02:51 +0200 Subject: [PATCH 4/5] add readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a3ac45e..9221522 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,11 @@ is tagged correctly. * [ubuntu](/oses/ubuntu) * `ghcr.io/parkervcp/yolks:ubuntu` +### [Apps](/apps) + +* [`uptimekuma`](/apps/uptimekuma) + * `ghcr.io/parkervcp/yolks:apps_uptimekuma` + ### [Bot](/bot) * [`bastion`](/bot/bastion) From 1e054e321f238d9c5139a91a5f4cf85fb1b2d78d Mon Sep 17 00:00:00 2001 From: Torsten Widmann Date: Tue, 26 Sep 2023 17:36:31 +0200 Subject: [PATCH 5/5] add cloudflared arm64 (#189) * add cloudflared arm64 * typo * print cloudflared version on startup --------- Co-authored-by: gOOvER <116325+gOOvER@users.noreply.github.com> Co-authored-by: Quinten <67589015+QuintenQVD0@users.noreply.github.com> --- apps/uptimekuma/Dockerfile | 8 +++++--- apps/uptimekuma/entrypoint.sh | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/uptimekuma/Dockerfile b/apps/uptimekuma/Dockerfile index a206e18..05e5ae0 100644 --- a/apps/uptimekuma/Dockerfile +++ b/apps/uptimekuma/Dockerfile @@ -32,9 +32,11 @@ RUN apk add --no-cache \ # updating npm RUN npm install npm@latest -g -# add cloudflare repo -RUN curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/bin/cloudflared \ - && chmod+x /usr/bin/cloudflared +# download cloudflared +ARG TARGETPLATFORM +RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then ARCHITECTURE=amd64; elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=arm64; fi \ + && curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-${ARCHITECTURE} -o /usr/bin/cloudflared +RUN chmod +x /usr/bin/cloudflared ## Setup user and working directory RUN adduser -D -h /home/container container -s /bin/bash container diff --git a/apps/uptimekuma/entrypoint.sh b/apps/uptimekuma/entrypoint.sh index 0d9fb72..200fb3a 100644 --- a/apps/uptimekuma/entrypoint.sh +++ b/apps/uptimekuma/entrypoint.sh @@ -28,6 +28,7 @@ echo -e "${BLUE}-------------------------------------------------${NC}" echo -e "${YELLOW}Running on Alpine: ${RED} $(cat /etc/alpine-release)${NC}" echo -e "${YELLOW}Current timezone: ${RED} $(cat /etc/localtime)${NC}" echo -e "${YELLOW}NodeJS Version: ${RED} $(node -v) ${NC}" +echo -e "${YELLOW}Cloudflared Version: ${RED} $(/usr/bin/cloudflared --version) ${NC}" echo -e "${BLUE}-------------------------------------------------${NC}" # Replace Startup Variables