ARG JAVA_VERSION="21" FROM amazoncorretto:${JAVA_VERSION}-alpine AS base RUN apk update RUN apk upgrade FROM base AS build-spigot ARG MINECRAFT_VERSION="1.20.6" RUN apk add --no-cache --upgrade git WORKDIR /spigot ADD https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar /spigot RUN java -jar BuildTools.jar --rev $MINECRAFT_VERSION FROM golang:1-alpine AS build-envsubst RUN go install github.com/a8m/envsubst/cmd/envsubst@latest FROM base AS package ARG MINECRAFT_VERSION="1.20.6" RUN apk add --no-cache --upgrade rcon eudev-libs WORKDIR / COPY ./run-server /usr/local/bin/ RUN sed -i "s|SED_VERSION|${MINECRAFT_VERSION}|g" /usr/local/bin/run-server ARG UID="1000" ARG GID="1000" RUN adduser -D -H -u $UID -h /tmp user WORKDIR /spigot COPY ./server.properties.in /spigot COPY --from=build-envsubst /go/bin/envsubst /usr/local/bin/ COPY --from=build-spigot /spigot/spigot-${MINECRAFT_VERSION}.jar /spigot/spigot-${MINECRAFT_VERSION}.jar WORKDIR /server RUN chown -R $UID /spigot /server USER user EXPOSE 25565/tcp ENTRYPOINT ["/bin/sh"] CMD ["/usr/local/bin/run-server"]