Merge pull request #3 from pascal-zarrad/feature/erlang

Add erlang images
This commit is contained in:
Alex
2021-07-17 01:13:51 +03:00
committed by GitHub
6 changed files with 120 additions and 1 deletions

39
.github/workflows/erlang.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: build erlang
on:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- erlang/**
jobs:
push:
name: "yolks:erlang_${{ matrix.tag }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
tag:
- 22
- 23
- 24
steps:
- uses: actions/checkout@v2
- 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: ./erlang
file: ./erlang/${{ matrix.tag }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/pterodactyl/yolks:erlang_${{ matrix.tag }}

View File

@@ -30,6 +30,13 @@ is tagged correctly.
* `ghcr.io/parkervcp/yolks:alpine`
* [`debian`](/oses/debian)
* `ghcr.io/parkervcp/yolks:debian`
* [`erlang`](/erlang)
* [`erlang22`](/erlang/22)
* `ghcr.io/parkervcp/yolks:erlang_22`
* [`erlang23`](/erlang/23)
* `ghcr.io/parkervcp/yolks:erlang_23`
* [`erlang24`](/erlang/24)
* `ghcr.io/parkervcp/yolks:erlang_24`
* [`games`](/games)
* [`arma3`](/games/arma3)
* `ghcr.io/parkervcp/games:arma3`

16
erlang/22/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM --platform=$BUILDPLATFORM erlang:22-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata \
&& adduser -D -h /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/ash", "/entrypoint.sh" ]

16
erlang/23/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM --platform=$BUILDPLATFORM erlang:23-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata \
&& adduser -D -h /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/ash", "/entrypoint.sh" ]

16
erlang/24/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM --platform=$BUILDPLATFORM erlang:24-alpine
LABEL author="Pascal Zarrad" maintainer="p.zarrad@outlook.de"
LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks"
LABEL org.opencontainers.image.licenses=MIT
RUN apk add --update --no-cache ca-certificates curl git openssl sqlite tar tzdata \
&& adduser -D -h /home/container container
USER container
ENV USER=container HOME=/home/container
WORKDIR /home/container
COPY ./../entrypoint.sh /entrypoint.sh
CMD [ "/bin/ash", "/entrypoint.sh" ]

25
erlang/entrypoint.sh Normal file
View File

@@ -0,0 +1,25 @@
# 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;exit}')
export INTERNAL_IP
# Switch to the container's working directory
cd /home/container || exit 1
# Print Erlang's version
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0merl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'\n"
erl -noshell -eval 'erlang:display(erlang:system_info(system_version))' -eval 'init:stop()'
# Convert all of the "{{VARIABLE}}" parts of the command into the expected shell
# variable format of "${VARIABLE}" before evaluating the string and automatically
# replacing the values.
PARSED=$(echo "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g' | eval echo "$(cat -)")
# Display the command we're running in the output, and then execute it with the env
# from the container itself.
printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0m%s\n" "$PARSED"
# shellcheck disable=SC2086
exec env ${PARSED}