dockerfiles/siverten/waterfall/Dockerfile

36 lines
1.3 KiB
Docker

ARG WATERFALL_VERSION=latest
ARG JAVA_VERSION=11
FROM alpine AS tools
RUN apk add --update-cache --no-cache \
curl \
jq
FROM tools AS waterfall
RUN if test -z "${WATERFALL_VERSION}" || test "${WATERFALL_VERSION}" == "latest" || test "${WATERFALL_VERSION}" == "master"; then \
echo "### Fetching latest version"; \
WATERFALL_VERSION=$(\
curl --silent --location https://papermc.io/api/v1/waterfall/ | \
jq --raw-output '.versions[0]' \
); \
fi && \
echo "### Using version <${WATERFALL_VERSION}>" && \
WATERFALL_VERSION_PATCH=$(\
curl --silent --location https://papermc.io/api/v1/waterfall/${WATERFALL_VERSION}/ | \
jq --raw-output '.builds.latest' \
) && \
echo "### Using patch <${WATERFALL_VERSION_PATCH}>" && \
curl --silent --location --fail --output /waterfall.jar https://papermc.io/api/v1/waterfall/${WATERFALL_VERSION}/${WATERFALL_VERSION_PATCH}/download
FROM openjdk:${JAVA_VERSION}-jre
RUN useradd --create-home --shell /bin/bash minecraft \
&& mkdir -p /opt/waterfall /waterfall \
&& chown -R minecraft /waterfall/
COPY --from=waterfall /waterfall.jar /opt/waterfall/
USER minecraft
WORKDIR /waterfall
VOLUME /waterfall
EXPOSE 25565
ENV JAVA_MEM=1G
CMD java -Xms${JAVA_MEM} -Xmx${JAVA_MEM} -jar /opt/waterfall/waterfall.jar