diff --git a/.github/workflows/box64.yml b/.github/workflows/box64.yml new file mode 100644 index 0000000..e01826c --- /dev/null +++ b/.github/workflows/box64.yml @@ -0,0 +1,39 @@ +name: build box64 +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * 1" + push: + branches: + - master + paths: + - box64/** +jobs: + push: + name: "yolks:${{ matrix.tag }}" + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + tag: + - box64 + steps: + - uses: actions/checkout@v2 + - uses: docker/setup-qemu-action@v1 + - 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: ./box64 + file: ./${{ matrix.tag }}/Dockerfile + platforms: linux/arm64 + push: true + tags: | + ghcr.io/parkervcp/yolks:${{ matrix.tag }} diff --git a/.github/workflows/games.yml b/.github/workflows/games.yml index fe85f0f..a6e4a38 100644 --- a/.github/workflows/games.yml +++ b/.github/workflows/games.yml @@ -19,9 +19,10 @@ jobs: - altv - arma3 - dayz + - mohaa - samp - source - + steps: - uses: actions/checkout@v2 - uses: docker/setup-buildx-action@v1 @@ -40,4 +41,4 @@ jobs: platforms: linux/amd64 push: true tags: | - ghcr.io/parkervcp/games:${{ matrix.game }} + ghcr.io/parkervcp/games:${{ matrix.game }} diff --git a/README.md b/README.md index a65b567..3e76301 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,11 @@ is tagged correctly. * [`sinusbot`](/bot/sinusbot) * `ghcr.io/parkervcp/yolks:bot_sinusbot` +### [Box64](/box64) + +* [`Box64`](/box64) + * `ghcr.io/parkervcp/yolks:box64` + ### [Cassandra](/cassandra) * [`cassandra_java8_python27`](/cassandra/cassandra_java8_python2) @@ -81,6 +86,8 @@ is tagged correctly. * `ghcr.io/parkervcp/games:arma3` * [`dayz`](/games/dayz) * `ghcr.io/parkervcp/games:dayz` +* [`mohaa`](games/mohaa) + * `ghcr.io/pterodactyl/games:mohaa` * [`samp`](/games/samp) * `ghcr.io/parkervcp/games:samp` * [`source`](/games/source) diff --git a/box64/Dockerfile b/box64/Dockerfile new file mode 100644 index 0000000..7d8f1a8 --- /dev/null +++ b/box64/Dockerfile @@ -0,0 +1,34 @@ +FROM --platform=$TARGETOS/$TARGETARCH debian:bullseye-slim + +LABEL author="QuintenQVD" maintainer="josdekurk@gmail.com" + +ENV DEBIAN_FRONTEND noninteractive + +## Update base packages +RUN apt update \ + && apt upgrade -y + +## Install dependencies +RUN apt install -y libc++-dev libc6 git wget curl tar zip unzip binutils xz-utils liblzo2-2 cabextract iproute2 net-tools libatomic1 libsdl1.2debian libsdl2-2.0-0 \ + libfontconfig libicu67 icu-devtools libunwind8 libssl-dev sqlite3 libsqlite3-dev libmariadbclient-dev-compat libduktape205 locales ffmpeg gnupg2 apt-transport-https software-properties-common ca-certificates \ + libz-dev rapidjson-dev tzdata libevent-dev libzip4 libsdl2-mixer-2.0-0 libsdl2-image-2.0-0 build-essential cmake libgdiplus + +## Configure locale +RUN update-locale lang=en_US.UTF-8 \ + && dpkg-reconfigure --frontend noninteractive locales + + +##Install box64 +RUN wget https://ryanfortner.github.io/box64-debs/box64.list -O /etc/apt/sources.list.d/box64.list \ + && wget -O- https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | tee /usr/share/keyrings/box64-debs-archive-keyring.gpg \ + && apt update && apt install box64 -y + + + +RUN useradd -d /home/container -m container +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +COPY ./entrypoint.sh /entrypoint.sh +CMD ["/bin/bash", "/entrypoint.sh"] diff --git a/box64/entrypoint.sh b/box64/entrypoint.sh new file mode 100644 index 0000000..b5facda --- /dev/null +++ b/box64/entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cd /home/container + +# Make internal Docker IP address available to processes. +export INTERNAL_IP=`ip route get 1 | awk '{print $(NF-2);exit}'` + + +# 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} \ No newline at end of file diff --git a/games/mohaa/Dockerfile b/games/mohaa/Dockerfile new file mode 100644 index 0000000..353d28e --- /dev/null +++ b/games/mohaa/Dockerfile @@ -0,0 +1,12 @@ +FROM ghcr.io/parkervcp/yolks:debian + +LABEL author="Manuel Dielacher" maintainer="th3dilli@gmx.at" + +LABEL org.opencontainers.image.source="https://github.com/pterodactyl/yolks" +LABEL org.opencontainers.image.licenses=MIT + +RUN dpkg --add-architecture i386 \ + && apt update && apt upgrade -y \ + && apt install -y lib32gcc-s1 lib32stdc++6 libstdc++5:i386 + + diff --git a/games/mohaa/entrypoint.sh b/games/mohaa/entrypoint.sh new file mode 100644 index 0000000..11acd70 --- /dev/null +++ b/games/mohaa/entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/bash +cd /home/container + +# Set environment variable that holds the Internal Docker IP +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}" + +# Run the Server +eval ${MODIFIED_STARTUP} diff --git a/games/source/Dockerfile b/games/source/Dockerfile index 3af65bd..6feb9ae 100644 --- a/games/source/Dockerfile +++ b/games/source/Dockerfile @@ -37,9 +37,9 @@ RUN dpkg --add-architecture i386 \ ## install rcon RUN cd /tmp/ \ - && curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.1/rcon-0.10.1-amd64_linux.tar.gz > rcon.tar.gz \ + && curl -sSL https://github.com/gorcon/rcon-cli/releases/download/v0.10.2/rcon-0.10.2-amd64_linux.tar.gz > rcon.tar.gz \ && tar xvf rcon.tar.gz \ - && mv rcon-0.10.1-amd64_linux/rcon /usr/local/bin/ + && mv rcon-0.10.2-amd64_linux/rcon /usr/local/bin/ USER container ENV USER=container HOME=/home/container diff --git a/installers/alpine/Dockerfile b/installers/alpine/Dockerfile index a5b6b81..6ecc6cb 100644 --- a/installers/alpine/Dockerfile +++ b/installers/alpine/Dockerfile @@ -27,4 +27,4 @@ LABEL author="Matthew Penner" maintainer="matthew@pterodactyl.io" 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 jq wget +RUN apk add --update --no-cache ca-certificates curl unzip tar git jq wget diff --git a/wine/entrypoint.sh b/wine/entrypoint.sh index be33420..2066497 100644 --- a/wine/entrypoint.sh +++ b/wine/entrypoint.sh @@ -65,7 +65,7 @@ if [[ $WINETRICKS_RUN =~ mono ]]; then WINETRICKS_RUN=${WINETRICKS_RUN/mono} if [ ! -f "$WINEPREFIX/mono.msi" ]; then - wget -q -O $WINEPREFIX/mono.msi https://dl.winehq.org/wine/wine-mono/7.1.1/wine-mono-7.1.1-x86.msi + wget -q -O $WINEPREFIX/mono.msi https://dl.winehq.org/wine/wine-mono/7.2.0/wine-mono-7.2.0-x86.msi fi wine msiexec /i $WINEPREFIX/mono.msi /qn /quiet /norestart /log $WINEPREFIX/mono_install.log