diff --git a/.github/workflows/base.yml b/.github/workflows/base.yml index b1d79b5..603be73 100644 --- a/.github/workflows/base.yml +++ b/.github/workflows/base.yml @@ -9,7 +9,7 @@ on: - oses/** jobs: push: - name: "yolks_os:${{ matrix.oses }}" + name: "yolks:${{ matrix.oses }}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -36,4 +36,4 @@ jobs: platforms: linux/amd64 push: true tags: | - ghcr.io/parkervcp/yolks_os:${{ matrix.oses }} + ghcr.io/parkervcp/yolks:${{ matrix.oses }} diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml new file mode 100644 index 0000000..8def61e --- /dev/null +++ b/.github/workflows/dotnet.yml @@ -0,0 +1,41 @@ +name: build dotnet +on: + # Allows you to run this workflow manually from the Actions tab + # workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - dotnet/** +jobs: + push: + name: "yolks:dotnet_${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - 2.1 + - 3.1 + - 5.0 + 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: ./dotnet + file: ./dotnet/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64 + push: true + tags: | + ghcr.io/parkervcp/yolks:dotnet_${{ matrix.tag }} diff --git a/README.md b/README.md index a196a6b..2ac804b 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,13 @@ is tagged correctly. * `ghcr.io/parkervcp/yolks:cassandra_java11_python2` * [`cassandra_java11_python3`](/cassandra/cassandra_java11_python3) * `ghcr.io/parkervcp/yolks:cassandra_java11_python3` +### [dotNet](/dotnet) + * [`dotnet2.1`](/dotnet/2.1) + * `ghcr.io/parkervcp/yolks:dotnet_2.1` + * [`dotnet3.1`](/dotnet/3.1) + * `ghcr.io/parkervcp/yolks:dotnet_3.1` + * [`dotnet5.0`](/dotnet/5.0) + * `ghcr.io/parkervcp/yolks:dotnet_5.0` ### [Erlang](/erlang) * [`erlang22`](/erlang/22) * `ghcr.io/parkervcp/yolks:erlang_22` diff --git a/dotnet/2.1/Dockerfile b/dotnet/2.1/Dockerfile new file mode 100644 index 0000000..f5167b6 --- /dev/null +++ b/dotnet/2.1/Dockerfile @@ -0,0 +1,21 @@ +FROM --platform=$BUILDPLATFORM ghcr.io/parkervcp/yolks:debian + +LABEL author="Torsten Widmann" maintainer="info@goover.de" + +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 \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt update -y \ + && apt install -y aspnetcore-runtime-2.1 libgdiplus + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/dotnet/3.1/Dockerfile b/dotnet/3.1/Dockerfile new file mode 100644 index 0000000..b63d1a1 --- /dev/null +++ b/dotnet/3.1/Dockerfile @@ -0,0 +1,21 @@ +FROM --platform=$BUILDPLATFORM ghcr.io/parkervcp/yolks:debian + +LABEL author="Torsten Widmann" maintainer="info@goover.de" + +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 \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt update -y \ + && apt install -y aspnetcore-runtime-3.1 libgdiplus + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/dotnet/5/Dockerfile b/dotnet/5/Dockerfile new file mode 100644 index 0000000..7a3d14b --- /dev/null +++ b/dotnet/5/Dockerfile @@ -0,0 +1,21 @@ +FROM --platform=$BUILDPLATFORM ghcr.io/parkervcp/yolks:debian + +LABEL author="Torsten Widmann" maintainer="info@goover.de" + +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 \ + && dpkg -i packages-microsoft-prod.deb \ + && rm packages-microsoft-prod.deb \ + && apt update -y \ + && apt install -y aspnetcore-runtime-5.0 libgdiplus + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./../entrypoint.sh /entrypoint.sh +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/dotnet/entrypoint.sh b/dotnet/entrypoint.sh new file mode 100644 index 0000000..13d9e20 --- /dev/null +++ b/dotnet/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} diff --git a/games/source/Dockerfile b/games/source/Dockerfile index 446ebe9..8ce953a 100644 --- a/games/source/Dockerfile +++ b/games/source/Dockerfile @@ -32,7 +32,7 @@ ENV DEBIAN_FRONTEND=noninteractive RUN dpkg --add-architecture i386 \ && apt update \ && apt upgrade -y \ - && apt install -y tar curl gcc g++ lib32gcc1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig telnet net-tools netcat tzdata \ + && apt install -y tar curl gcc g++ lib32gcc-s1 libgcc1 libcurl4-gnutls-dev:i386 libssl1.1:i386 libcurl4:i386 lib32tinfo6 libtinfo6:i386 lib32z1 lib32stdc++6 libncurses5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386 iproute2 gdb libsdl1.2debian libfontconfig1 telnet net-tools netcat tzdata \ && useradd -m -d /home/container container USER container diff --git a/installers/debian/Dockerfile b/installers/debian/Dockerfile index 8c0fb25..6c3568c 100644 --- a/installers/debian/Dockerfile +++ b/installers/debian/Dockerfile @@ -32,4 +32,4 @@ ENV DEBIAN_FRONTEND=noninteractive RUN dpkg --add-architecture i386 \ && apt update \ && apt upgrade -y \ - && apt -y --no-install-recommends install ca-certificates curl lib32gcc1 libsdl2-2.0-0:i386 git + && apt -y --no-install-recommends install ca-certificates curl lib32gcc-s1 libsdl2-2.0-0:i386 git diff --git a/oses/debian/entrypoint.sh b/oses/debian/entrypoint.sh index d9f5b44..9a5cab5 100644 --- a/oses/debian/entrypoint.sh +++ b/oses/debian/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/bash cd /home/container -# Make internal Docker IP address available to processes. +# Make internal Docker IP address available to processes. export INTERNAL_IP=`ip route get 1 | awk '{print $NF;exit}'` # Replace Startup Variables