Merge branch 'master' into tini

This commit is contained in:
Quinten
2023-09-26 18:15:23 +02:00
committed by GitHub
12 changed files with 281 additions and 1 deletions

42
.github/workflows/apps.yml vendored Normal file
View File

@@ -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 }}

42
.github/workflows/elixir.yml vendored Normal file
View File

@@ -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 }}

View File

@@ -35,6 +35,11 @@ is tagged correctly.
* [ubuntu](/oses/ubuntu) * [ubuntu](/oses/ubuntu)
* `ghcr.io/parkervcp/yolks:ubuntu` * `ghcr.io/parkervcp/yolks:ubuntu`
### [Apps](/apps)
* [`uptimekuma`](/apps/uptimekuma)
* `ghcr.io/parkervcp/yolks:apps_uptimekuma`
### [Bot](/bot) ### [Bot](/bot)
* [`bastion`](/bot/bastion) * [`bastion`](/bot/bastion)
@@ -83,6 +88,19 @@ is tagged correctly.
* [`dotnet7.0`](/dotnet/7) * [`dotnet7.0`](/dotnet/7)
* `ghcr.io/parkervcp/yolks: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) ### [Erlang](/erlang)
* [`erlang22`](/erlang/22) * [`erlang22`](/erlang/22)

View File

@@ -0,0 +1,48 @@
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
# 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
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./entrypoint.sh /entrypoint.sh
CMD ["/bin/ash", "/entrypoint.sh"]

View File

@@ -0,0 +1,39 @@
#!/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 "${YELLOW}Cloudflared Version: ${RED} $(/usr/bin/cloudflared --version) ${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}

15
elixir/1.12/Dockerfile Normal file
View File

@@ -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" ]

15
elixir/1.13/Dockerfile Normal file
View File

@@ -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" ]

15
elixir/1.14/Dockerfile Normal file
View File

@@ -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" ]

15
elixir/1.15/Dockerfile Normal file
View File

@@ -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" ]

16
elixir/entrypoint.sh Normal file
View File

@@ -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}

15
elixir/latest/Dockerfile Normal file
View File

@@ -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" ]

View File

@@ -4,7 +4,7 @@ LABEL author="Michael Parker" maintainer="parker@pterodactyl.io"
RUN apt update \ 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 tini \ && 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 tini \
&& useradd -m -d /home/container container && useradd -m -d /home/container container
RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global RUN npm install npm@9.8.1 typescript ts-node @types/node --location=global