mirror of
https://github.com/itzg/docker-minecraft-server
synced 2024-12-13 22:02:28 +00:00
80 lines
3.1 KiB
Docker
80 lines
3.1 KiB
Docker
FROM adoptopenjdk:8-jre-hotspot
|
|
|
|
LABEL maintainer "itzg"
|
|
|
|
RUN apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive \
|
|
apt-get install -y \
|
|
openssl \
|
|
imagemagick \
|
|
lsof \
|
|
gosu \
|
|
bash \
|
|
curl wget \
|
|
git \
|
|
jq \
|
|
dos2unix \
|
|
mysql-client \
|
|
tzdata \
|
|
rsync \
|
|
nano \
|
|
&& apt-get clean
|
|
|
|
HEALTHCHECK --start-period=1m CMD mc-monitor status --host localhost --port $SERVER_PORT
|
|
|
|
RUN addgroup --gid 1000 minecraft \
|
|
&& adduser --system --shell /bin/false --uid 1000 --ingroup minecraft --home /home/minecraft minecraft \
|
|
&& mkdir -m 777 /data /mods /config /plugins \
|
|
&& chown minecraft:minecraft /data /config /mods /plugins /home/minecraft
|
|
|
|
EXPOSE 25565 25575
|
|
|
|
# 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
|
|
|
|
ARG EASY_ADD_VER=0.5.3
|
|
ADD https://github.com/itzg/easy-add/releases/download/${EASY_ADD_VER}/easy-add_${TARGETOS}_${TARGETARCH}${TARGETVARIANT} /usr/bin/easy-add
|
|
RUN chmod +x /usr/bin/easy-add
|
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|
--var version=1.2.0 --var app=restify --file restify \
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|
--var version=1.4.7 --var app=rcon-cli --file rcon-cli \
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|
--var version=0.1.6 --var app=mc-monitor --file mc-monitor \
|
|
--from https://github.com/itzg/{{.app}}/releases/download/v{{.version}}/{{.app}}_{{.version}}_Linux_{{.arch}}.tar.gz
|
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|
--var version=1.3.3 --var app=mc-server-runner --file mc-server-runner \
|
|
--from https://github.com/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
|
|
|
RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
|
|
--var version=0.1.0 --var app=maven-metadata-release --file maven-metadata-release \
|
|
--from https://github.com/itzg/{{.app}}/releases/download/v{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
|
|
|
|
COPY mcadmin.jq /usr/share
|
|
COPY mcstatus /usr/local/bin
|
|
|
|
VOLUME ["/data","/mods","/config"]
|
|
COPY server.properties /tmp/server.properties
|
|
WORKDIR /data
|
|
|
|
ENTRYPOINT [ "/start" ]
|
|
|
|
ENV UID=1000 GID=1000 \
|
|
JVM_XX_OPTS="-XX:+UseG1GC" MEMORY="1G" \
|
|
TYPE=VANILLA VERSION=LATEST FORGEVERSION=RECOMMENDED SPONGEBRANCH=STABLE SPONGEVERSION= FABRICVERSION=LATEST LEVEL=world \
|
|
PVP=true DIFFICULTY=easy ENABLE_RCON=true RCON_PORT=25575 RCON_PASSWORD=minecraft \
|
|
RESOURCE_PACK= RESOURCE_PACK_SHA1= \
|
|
LEVEL_TYPE=DEFAULT GENERATOR_SETTINGS= WORLD= MODPACK= MODS= SERVER_PORT=25565 ONLINE_MODE=TRUE CONSOLE=true SERVER_NAME="Dedicated Server" \
|
|
REPLACE_ENV_VARIABLES="FALSE" ENV_VARIABLE_PREFIX="CFG_"
|
|
|
|
COPY start* /
|
|
RUN dos2unix /start* && chmod +x /start*
|