spigot-docker/context/Dockerfile

38 lines
1.1 KiB
Docker

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"]