Files
Docker-Minecraft-Paper/Dockerfile
T
2024-09-12 01:25:40 +02:00

41 lines
1.3 KiB
Docker

FROM ubuntu:latest AS builder
# Install Spigot dependencies
# This installs normal dependencies, sets up zulu apt repository and installs zulu21-jdk
RUN apt-get update && apt-get install -y \
curl \
git \
wget \
bash \
gnupg \
ca-certificates \
&& curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://repos.azul.com/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list \
&& apt-get update && apt-get install -y zulu21-jdk
WORKDIR /minecraft
# Setup spigot.jar
# This downloads BuildTools.jar and uses that to build a new spigot.jar
RUN mkdir buildtools \
&& cd buildtools \
&& wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar \
&& java -jar BuildTools.jar --rev latest \
&& mv spigot-*.jar /minecraft/spigot.jar \
&& rm -rf /minecraft/buildtools
# Accept EULA
RUN echo "eula=true" > /minecraft/eula.txt
FROM alpine:latest AS runner
COPY --from=builder /minecraft /minecraft
RUN apk add --no-cache openjdk21-jre eudev
WORKDIR /minecraft
# Move spigot to server directory
EXPOSE 25565
CMD /bin/sh -c "java -Xmx2G -Xms512M -jar /minecraft/spigot.jar nogui > /minecraft/logs/output.log 2> /minecraft/logs/error.log"