diff --git a/.github/workflows/games.yml b/.github/workflows/games.yml index 8dd36f6ef..c2090dbd0 100644 --- a/.github/workflows/games.yml +++ b/.github/workflows/games.yml @@ -9,8 +9,8 @@ on: paths: - games/** jobs: - push: - name: "games:${{ matrix.game }}" + pushAMD64: + name: "games_AMD64:${{ matrix.game }}" runs-on: ubuntu-latest strategy: fail-fast: false @@ -18,7 +18,7 @@ jobs: game: - altv - arma3 - - dayz + - dayz - mohaa - samp - source @@ -42,3 +42,33 @@ jobs: push: true tags: | ghcr.io/parkervcp/games:${{ matrix.game }} + pushAll: + name: "games_All:${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - minetest + steps: + - uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@2 + with: + platforms: arm64,amd64 + - 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: ./games/${{ matrix.tag }} + file: ./games/${{ matrix.tag }}/Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/games:${{ matrix.game }} \ No newline at end of file diff --git a/README.md b/README.md index f5cf1f227..d845a0ba4 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,8 @@ is tagged correctly. * `ghcr.io/parkervcp/games:arma3` * [`dayz`](/games/dayz) * `ghcr.io/parkervcp/games:dayz` +* [`minetest`](/games/minetest) + * `ghcr.io/parkervcp/games:minetest` * [`mohaa`](games/mohaa) * `ghcr.io/pterodactyl/games:mohaa` * [`samp`](/games/samp) diff --git a/games/minetest/Dockerfile b/games/minetest/Dockerfile new file mode 100644 index 000000000..d822314ee --- /dev/null +++ b/games/minetest/Dockerfile @@ -0,0 +1,16 @@ +FROM --platform=$TARGETOS/$TARGETARCH ubuntu:20.04 +ENV DEBIAN_FRONTEND noninteractive + +RUN apt update -y \ + && apt install -y curl ca-certificates openssl git tar gnupg2 sqlite3 fontconfig tzdata iproute2 libfreetype6 software-properties-common \ + && useradd -d /home/container -m container + +RUN add-apt-repository -y ppa:minetestdevs/stable +RUN apt update && apt -y install minetest + +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/games/minetest/entrypoint.sh b/games/minetest/entrypoint.sh new file mode 100644 index 000000000..399eb5a20 --- /dev/null +++ b/games/minetest/entrypoint.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# 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 + +# Switch to the container's working directory +cd /home/container || exit 1 + +# Print minetest version +printf "\033[1m\033[33mcontainer@pterodactyl~ \033[0mminetest --version\n" +minetest --version + +# 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} \ No newline at end of file