Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ services:
build:
context: ./minecraft
args:
MINECRAFT_VERSION: 1.21.1
MINECRAFT_VERSION: 1.21.11
volumes:
- ./minecraft-data:/minecraft-server/data
ports:
Expand Down
31 changes: 24 additions & 7 deletions minecraft/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,29 @@
FROM alpine:latest
RUN mkdir /minecraft-server/jar -p
RUN apk add openjdk17-jre-headless
COPY versions.csv /minecraft-server/jar/versions.csv

WORKDIR /minecraft-server

RUN apk add --no-cache openjdk21-jre-headless wget jq

ARG MINECRAFT_VERSION
ENV MINECRAFT_VERSION ${MINECRAFT_VERSION}
RUN wget $(awk -v ref="$MINECRAFT_VERSION" -F',' ' $1 == ref { print substr($2, 1, length($2)-1) }' /minecraft-server/jar/versions.csv) -O server.jar
RUN mv server.jar /minecraft-server/jar
ENV MINECRAFT_VERSION=${MINECRAFT_VERSION}

# Mit jq ist JSON-Parsing trivial
RUN echo "Downloading Minecraft Server $MINECRAFT_VERSION..." && \
wget -q https://piston-meta.mojang.com/mc/game/version_manifest_v2.json -O /tmp/manifest.json && \
VERSION_URL=$(jq -r ".versions[] | select(.id==\"$MINECRAFT_VERSION\") | .url" /tmp/manifest.json) && \
echo "Found version URL: $VERSION_URL" && \
test -n "$VERSION_URL" || (echo "ERROR: Version $MINECRAFT_VERSION not found!"; exit 1) && \
wget -q "$VERSION_URL" -O /tmp/version.json && \
SERVER_URL=$(jq -r '.downloads.server.url' /tmp/version.json) && \
echo "Downloading server JAR: $SERVER_URL" && \
mkdir -p jar && \
wget "$SERVER_URL" -O /minecraft-server/jar/server.jar && \
rm /tmp/*.json && \
echo "Download complete!"

WORKDIR /minecraft-server/data
COPY entrypoint.sh /minecraft-server/jar/entrypoint.sh
RUN chmod +x /minecraft-server/jar/entrypoint.sh
ENTRYPOINT [ "/minecraft-server/jar/entrypoint.sh","java -jar /minecraft-server/jar/server.jar"]

ENTRYPOINT ["/minecraft-server/jar/entrypoint.sh"]
CMD ["java", "-Xmx2G", "-Xms1G", "-jar", "/minecraft-server/jar/server.jar", "nogui"]
86 changes: 0 additions & 86 deletions minecraft/versions.csv

This file was deleted.