2022-02-12 03:00:24 +00:00
|
|
|
# syntax = docker/dockerfile:1.3
|
|
|
|
|
2022-01-29 20:53:34 +00:00
|
|
|
ARG BASE_IMAGE=eclipse-temurin:17-jdk
|
|
|
|
FROM ${BASE_IMAGE}
|
2014-06-02 02:38:32 +00:00
|
|
|
|
2022-02-12 03:00:24 +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 \
|
|
|
|
REV=${BUILD_FILES_REV} /build/run.sh install-packages
|
|
|
|
|
|
|
|
RUN --mount=target=/build,source=build \
|
|
|
|
REV=${BUILD_FILES_REV} /build/run.sh setup-user
|
2014-06-02 02:38:32 +00:00
|
|
|
|
2021-12-12 14:10:18 +00:00
|
|
|
COPY --chmod=644 files/sudoers* /etc/sudoers.d
|
2020-05-20 13:17:58 +00:00
|
|
|
|
2016-07-02 03:17:10 +00:00
|
|
|
EXPOSE 25565 25575
|
2014-06-02 02:38:32 +00:00
|
|
|
|
2020-02-05 02:10:45 +00:00
|
|
|
# hook into docker BuildKit --platform support
|
|
|
|
# see https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope
|
2020-05-22 01:48:54 +00:00
|
|
|
ARG TARGETOS
|
|
|
|
ARG TARGETARCH
|
|
|
|
ARG TARGETVARIANT
|
2020-02-05 02:10:45 +00:00
|
|
|
|
2020-03-27 01:50:13 +00:00
|
|
|
ARG EASY_ADD_VER=0.7.1
|
2020-02-05 02:10:45 +00:00
|
|
|
ADD https://github.com/itzg/easy-add/releases/download/${EASY_ADD_VER}/easy-add_${TARGETOS}_${TARGETARCH}${TARGETVARIANT} /usr/bin/easy-add
|
2019-09-19 02:14:08 +00:00
|
|
|
RUN chmod +x /usr/bin/easy-add
|
2018-05-19 22:34:03 +00:00
|
|
|
|
2020-02-05 02:10:45 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2020-03-14 20:42:17 +00:00
|
|
|
--var version=1.2.0 --var app=restify --file {{.app}} \
|
2020-02-05 02:10:45 +00:00
|
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2018-05-19 22:34:03 +00:00
|
|
|
|
2020-03-14 20:42:17 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2022-01-04 03:59:19 +00:00
|
|
|
--var version=1.5.1 --var app=rcon-cli --file {{.app}} \
|
|
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2019-09-19 02:14:08 +00:00
|
|
|
|
2020-02-05 02:10:45 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2022-01-04 03:59:19 +00:00
|
|
|
--var version=0.10.3 --var app=mc-monitor --file {{.app}} \
|
|
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2020-01-26 22:57:14 +00:00
|
|
|
|
2020-02-05 02:10:45 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2022-01-04 03:59:19 +00:00
|
|
|
--var version=1.8.0 --var app=mc-server-runner --file {{.app}} \
|
|
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2018-05-19 22:34:03 +00:00
|
|
|
|
2020-03-14 20:42:17 +00:00
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
2022-01-04 03:59:19 +00:00
|
|
|
--var version=0.1.1 --var app=maven-metadata-release --file {{.app}} \
|
|
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
2020-01-31 03:24:36 +00:00
|
|
|
|
2022-02-09 01:24:38 +00:00
|
|
|
ARG MC_HELPER_VERSION=1.16.6
|
2021-10-15 23:42:44 +00:00
|
|
|
ARG MC_HELPER_BASE_URL=https://github.com/itzg/mc-image-helper/releases/download/v${MC_HELPER_VERSION}
|
|
|
|
RUN curl -fsSL ${MC_HELPER_BASE_URL}/mc-image-helper-${MC_HELPER_VERSION}.tgz \
|
2022-01-04 03:59:19 +00:00
|
|
|
| tar -C /usr/share -zxf - \
|
|
|
|
&& ln -s /usr/share/mc-image-helper-${MC_HELPER_VERSION}/bin/mc-image-helper /usr/bin
|
2021-09-05 00:46:08 +00:00
|
|
|
|
2020-03-28 19:00:22 +00:00
|
|
|
VOLUME ["/data"]
|
2014-06-02 02:38:32 +00:00
|
|
|
WORKDIR /data
|
|
|
|
|
2021-04-02 23:23:05 +00:00
|
|
|
STOPSIGNAL SIGTERM
|
|
|
|
|
2018-08-18 21:56:45 +00:00
|
|
|
ENV UID=1000 GID=1000 \
|
2020-05-15 01:09:12 +00:00
|
|
|
MEMORY="1G" \
|
2021-02-07 23:52:42 +00:00
|
|
|
TYPE=VANILLA VERSION=LATEST \
|
|
|
|
ENABLE_RCON=true RCON_PORT=25575 RCON_PASSWORD=minecraft \
|
2021-01-02 17:27:03 +00:00
|
|
|
ENABLE_AUTOPAUSE=false AUTOPAUSE_TIMEOUT_EST=3600 AUTOPAUSE_TIMEOUT_KN=120 AUTOPAUSE_TIMEOUT_INIT=600 \
|
2021-12-21 00:27:27 +00:00
|
|
|
AUTOPAUSE_PERIOD=10 AUTOPAUSE_KNOCK_INTERFACE=eth0 \
|
|
|
|
ENABLE_AUTOSTOP=false AUTOSTOP_TIMEOUT_EST=3600 AUTOSTOP_TIMEOUT_INIT=1800 AUTOSTOP_PERIOD=10
|
2018-03-16 22:03:21 +00:00
|
|
|
|
2021-12-12 14:10:18 +00:00
|
|
|
COPY --chmod=755 scripts/start* /
|
|
|
|
COPY --chmod=755 bin/ /usr/local/bin/
|
|
|
|
COPY --chmod=755 bin/mc-health /health.sh
|
|
|
|
COPY --chmod=644 files/server.properties /tmp/server.properties
|
|
|
|
COPY --chmod=644 files/log4j2.xml /tmp/log4j2.xml
|
|
|
|
COPY --chmod=755 files/autopause /autopause
|
2021-12-21 00:27:27 +00:00
|
|
|
COPY --chmod=755 files/autostop /autostop
|
2020-05-20 13:17:58 +00:00
|
|
|
|
2021-12-21 00:27:27 +00:00
|
|
|
RUN dos2unix /start* /autopause/* /autostop/*
|
2021-05-21 11:50:04 +00:00
|
|
|
|
2020-05-20 13:17:58 +00:00
|
|
|
ENTRYPOINT [ "/start" ]
|
2021-10-09 16:34:37 +00:00
|
|
|
HEALTHCHECK --start-period=1m CMD mc-health
|