diff --git a/Dockerfile b/Dockerfile index 2673c41..be63800 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,26 +6,10 @@ ARG TARGETOS ARG TARGETARCH ARG TARGETVARIANT -RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y \ - curl \ - openssl \ - unzip \ - jq \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Install box64 on arm -RUN if [ "$TARGETARCH" = "arm64" ] ; then \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y debian-keyring && \ - curl -L https://ryanfortner.github.io/box64-debs/box64.list -o /etc/apt/sources.list.d/box64.list && \ - curl -L https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg && \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y box64-arm64 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* ;\ - fi +RUN --mount=target=/build,source=build /build/install-packages + +ARG BOX64_PACKAGE=box64 +RUN --mount=target=/build,source=build BOX64_PACKAGE=$BOX64_PACKAGE /build/setup-arm64 EXPOSE 19132/udp diff --git a/README.md b/README.md index d19aa0a..e89b857 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,7 @@ The following environment variables will set the equivalent property in `server. - `SERVER_PORT` - `SERVER_PORT_V6` - `GAMEMODE` +- `FORCE_GAMEMODE` - `DIFFICULTY` - `LEVEL_TYPE` - `ALLOW_CHEATS` diff --git a/build/install-packages b/build/install-packages new file mode 100755 index 0000000..a86cd3e --- /dev/null +++ b/build/install-packages @@ -0,0 +1,15 @@ +#!/bin/sh + +set -eu + +apt-get update + +DEBIAN_FRONTEND=noninteractive apt-get install -y \ + curl \ + openssl \ + unzip \ + jq + +apt-get clean + +rm -rf /var/lib/apt/lists/* \ No newline at end of file diff --git a/build/setup-arm64 b/build/setup-arm64 new file mode 100755 index 0000000..58caf69 --- /dev/null +++ b/build/setup-arm64 @@ -0,0 +1,17 @@ +#!/bin/sh + +set -eu + +if [ "$TARGETARCH" = "arm64" ] ; then + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y debian-keyring + + curl -L https://ryanfortner.github.io/box64-debs/box64.list -o /etc/apt/sources.list.d/box64.list + curl -L https://ryanfortner.github.io/box64-debs/KEY.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/box64-debs-archive-keyring.gpg + + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y "$BOX64_PACKAGE" + + apt-get clean + rm -rf /var/lib/apt/lists/* +fi \ No newline at end of file diff --git a/property-definitions.json b/property-definitions.json index 2f14cc6..cfb34d5 100644 --- a/property-definitions.json +++ b/property-definitions.json @@ -17,6 +17,10 @@ "2": "adventure" } }, + "force-gamemode": { + "env": "FORCE_GAMEMODE", + "allowed": ["true","false"] + }, "difficulty": { "env": "DIFFICULTY", "allowed": ["easy","peaceful","normal","hard"],