FROM alpine:latest
ARG VERSION
RUN mkdir -p /opt/server
WORKDIR /opt/server
RUN apk add openjdk21 jq curl
RUN if [[ -z $VERSION ]] ; then VERSION=$(curl https://api.papermc.io/v2/projects/paper | jq -r .versions[-1]); fi;\
  curl -o server.jar $(\
  curl https://api.papermc.io/v2/projects/paper/versions/${VERSION}/builds |\
  jq -r --arg VERSION $VERSION '"https://api.papermc.io/v2/projects/paper/versions/" \
  + $VERSION \
  + "/builds/" \
  + (.builds[-1].build|tostring) \
  + "/downloads/" \
  + (.builds[-1].downloads.application.name)'\
  )
COPY eula.txt eula.txt
RUN adduser -D minecraft -h /opt/server
RUN chmod 111 server.jar  && chown -R minecraft:minecraft /opt/server && chmod -R 770 /opt/server
RUN mv server.jar ../server.jar
USER minecraft:minecraft
EXPOSE 25565/tcp
ENTRYPOINT [ "java", "-jar",  "../server.jar" ]
LABEL type=GAME
