2022-05-30 18:07:25 +00:00
|
|
|
# syntax = docker/dockerfile:1.3
|
|
|
|
|
2024-04-06 17:11:31 +00:00
|
|
|
ARG BASE_IMAGE=eclipse-temurin:21-jre
|
2022-05-30 18:07:25 +00:00
|
|
|
FROM ${BASE_IMAGE}
|
|
|
|
|
2023-03-21 18:37:55 +00:00
|
|
|
# hook into docker BuildKit --platform support
|
|
|
|
# see https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope
|
|
|
|
ARG TARGETOS
|
|
|
|
ARG TARGETARCH
|
|
|
|
ARG TARGETVARIANT
|
|
|
|
|
2022-05-30 18:07:25 +00:00
|
|
|
# CI system should set this to a hash or git revision of the build directory and it's contents to
|
|
|
|
# ensure consistent cache updates.
|
|
|
|
ARG BUILD_FILES_REV=1
|
|
|
|
RUN --mount=target=/build,source=build \
|
2023-03-21 18:37:55 +00:00
|
|
|
REV=${BUILD_FILES_REV} TARGET=${TARGETARCH}${TARGETVARIANT} /build/run.sh install-packages
|
2022-05-30 18:07:25 +00:00
|
|
|
|
|
|
|
RUN --mount=target=/build,source=build \
|
|
|
|
REV=${BUILD_FILES_REV} /build/run.sh setup-user
|
|
|
|
|
|
|
|
COPY --chmod=644 files/sudoers* /etc/sudoers.d
|
|
|
|
|
2023-03-12 16:58:43 +00:00
|
|
|
EXPOSE 25565
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2023-11-26 00:30:18 +00:00
|
|
|
ARG APPS_REV=1
|
|
|
|
ARG GITHUB_BASEURL=https://github.com
|
|
|
|
|
2024-02-28 04:19:29 +00:00
|
|
|
ARG EASY_ADD_VERSION=0.8.4
|
2023-11-26 00:30:18 +00:00
|
|
|
ADD ${GITHUB_BASEURL}/itzg/easy-add/releases/download/${EASY_ADD_VERSION}/easy-add_${TARGETOS}_${TARGETARCH}${TARGETVARIANT} /usr/bin/easy-add
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN chmod +x /usr/bin/easy-add
|
|
|
|
|
2024-04-09 01:02:10 +00:00
|
|
|
ARG RESTIFY_VERSION=1.7.2
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2023-11-26 00:30:18 +00:00
|
|
|
--var version=${RESTIFY_VERSION} --var app=restify --file {{.app}} \
|
|
|
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2023-11-26 00:30:18 +00:00
|
|
|
ARG RCON_CLI_VERSION=1.6.4
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2023-11-26 00:30:18 +00:00
|
|
|
--var version=${RCON_CLI_VERSION} --var app=rcon-cli --file {{.app}} \
|
|
|
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2024-04-06 17:11:31 +00:00
|
|
|
ARG MC_MONITOR_VERSION=0.12.11
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2023-11-26 00:30:18 +00:00
|
|
|
--var version=${MC_MONITOR_VERSION} --var app=mc-monitor --file {{.app}} \
|
|
|
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2024-04-09 01:02:10 +00:00
|
|
|
ARG MC_SERVER_RUNNER_VERSION=1.12.1
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2023-11-26 00:30:18 +00:00
|
|
|
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
|
|
|
|
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2024-04-28 16:29:04 +00:00
|
|
|
ARG MC_HELPER_VERSION=1.38.14
|
2023-11-26 00:30:18 +00:00
|
|
|
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
|
2023-05-14 18:09:54 +00:00
|
|
|
# used for cache busting local copy of mc-image-helper
|
|
|
|
ARG MC_HELPER_REV=1
|
2022-05-30 18:07:25 +00:00
|
|
|
RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \
|
|
|
|
| tar -C /usr/share -zxf - \
|
|
|
|
&& ln -s /usr/share/mc-image-helper-${MC_HELPER_VERSION}/bin/mc-image-helper /usr/bin
|
|
|
|
|
|
|
|
VOLUME ["/data"]
|
|
|
|
WORKDIR /data
|
|
|
|
|
|
|
|
STOPSIGNAL SIGTERM
|
|
|
|
|
|
|
|
# End user MUST set EULA and change RCON_PASSWORD
|
2023-04-08 01:05:09 +00:00
|
|
|
ENV TYPE=VANILLA VERSION=LATEST EULA="" UID=1000 GID=1000
|
2022-05-30 18:07:25 +00:00
|
|
|
|
|
|
|
COPY --chmod=755 scripts/start* /
|
|
|
|
COPY --chmod=755 bin/ /usr/local/bin/
|
|
|
|
COPY --chmod=755 bin/mc-health /health.sh
|
2023-10-07 18:26:27 +00:00
|
|
|
COPY --chmod=644 files/* /image/
|
2022-09-03 21:48:14 +00:00
|
|
|
COPY --chmod=755 files/auto /auto
|
2022-05-30 18:07:25 +00:00
|
|
|
|
2023-05-28 16:38:54 +00:00
|
|
|
RUN curl -fsSL -o /image/Log4jPatcher.jar https://github.com/CreeperHost/Log4jPatcher/releases/download/v1.0.1/Log4jPatcher-1.0.1.jar
|
|
|
|
|
2022-09-03 21:48:14 +00:00
|
|
|
RUN dos2unix /start* /auto/*
|
2022-05-30 18:07:25 +00:00
|
|
|
|
|
|
|
ENTRYPOINT [ "/start" ]
|
2022-07-21 01:24:05 +00:00
|
|
|
HEALTHCHECK --start-period=1m --interval=5s --retries=24 CMD mc-health
|