39 lines
1.1 KiB
Docker
39 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"
|
|
ENV MINECRAFT_VERSION $MINECRAFT_VERSION
|
|
|
|
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"]
|
|
|