From 7dc0da9ad3195bba0e2a5369082284d7c20886ec Mon Sep 17 00:00:00 2001 From: Wim Wenigerkind Date: Tue, 5 Nov 2024 18:36:28 +0100 Subject: [PATCH] Initial commit --- Fabric/1.21.1/Dockerfile | 23 +++++++ Fabric/1.21.2/Dockerfile | 20 ++++++ Fabric/1.21.3/Dockerfile | 20 ++++++ README.md | 133 ++++++++++++++++++++++++++++++++++++++ Universal/Dockerfile | 24 +++++++ Universal/entrypoint.sh | 13 ++++ Vanilla/1.21.1/Dockerfile | 20 ++++++ 7 files changed, 253 insertions(+) create mode 100644 Fabric/1.21.1/Dockerfile create mode 100644 Fabric/1.21.2/Dockerfile create mode 100644 Fabric/1.21.3/Dockerfile create mode 100644 README.md create mode 100644 Universal/Dockerfile create mode 100644 Universal/entrypoint.sh create mode 100644 Vanilla/1.21.1/Dockerfile diff --git a/Fabric/1.21.1/Dockerfile b/Fabric/1.21.1/Dockerfile new file mode 100644 index 0000000..698faef --- /dev/null +++ b/Fabric/1.21.1/Dockerfile @@ -0,0 +1,23 @@ +# Basis-Image with Java +FROM openjdk:24-jdk-slim + +# Workdirectory +WORKDIR /minecraft + +# Install Screen +RUN apt-get update && apt-get install -y screen + +# Download Minecraft-Server-JAR (Fabric) +ADD https://meta.fabricmc.net/v2/versions/loader/1.21.1/0.16.9/1.0.1/server/jar minecraft-server.jar + +# Accept EULA +RUN echo "eula=true" > eula.txt + +# Expose Minecraft port +EXPOSE 25565 + +# Define memory +ENV MEMORY=2G + +# Use shell form for CMD to allow variable expansion +CMD ["sh", "-c", "java -Xmx${MEMORY} -Xms${MEMORY} -jar minecraft-server.jar nogui"] \ No newline at end of file diff --git a/Fabric/1.21.2/Dockerfile b/Fabric/1.21.2/Dockerfile new file mode 100644 index 0000000..eefda79 --- /dev/null +++ b/Fabric/1.21.2/Dockerfile @@ -0,0 +1,20 @@ +# Basis-Image with Java +FROM openjdk:24-jdk-slim + +# Workdirectory +WORKDIR /minecraft + +# Download Minecraft-Server-JAR (Fabric) +ADD https://meta.fabricmc.net/v2/versions/loader/1.21.2/0.16.9/1.0.1/server/jar minecraft-server.jar + +# Accept EULA +RUN echo "eula=true" > eula.txt + +# Expose Minecraft port +EXPOSE 25565 + +# Define memory +ENV MEMORY=2G + +# Use shell form for CMD to allow variable expansion +CMD ["sh", "-c", "java -Xmx${MEMORY} -Xms${MEMORY} -jar minecraft-server.jar nogui"] diff --git a/Fabric/1.21.3/Dockerfile b/Fabric/1.21.3/Dockerfile new file mode 100644 index 0000000..65ef6a8 --- /dev/null +++ b/Fabric/1.21.3/Dockerfile @@ -0,0 +1,20 @@ +# Basis-Image with Java +FROM openjdk:24-jdk-slim + +# Workdirectory +WORKDIR /minecraft + +# Download Minecraft-Server-JAR (Fabric) +ADD https://meta.fabricmc.net/v2/versions/loader/1.21.3/0.16.9/1.0.1/server/jar minecraft-server.jar + +# Accept EULA +RUN echo "eula=true" > eula.txt + +# Expose Minecraft port +EXPOSE 25565 + +# Define memory +ENV MEMORY=2G + +# Use shell form for CMD to allow variable expansion +CMD ["sh", "-c", "java -Xmx${MEMORY} -Xms${MEMORY} -jar minecraft-server.jar nogui"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..850a05b --- /dev/null +++ b/README.md @@ -0,0 +1,133 @@ +# Minecraft Server Docker Image + +## DE + +### Beschreibung + +Ein Docker-Image für einen Minecraft-Server, das auf OpenJDK basiert. Dieses Image ermöglicht das einfache Hosting eines Minecraft-Servers. Mit einer flexiblen Konfiguration zur Anpassung des Arbeitsspeichers kannst du deinen eigenen Minecraft-Server in wenigen Minuten zum Laufen bringen. + +### Features + +- **Einfaches Setup**: Starte deinen Minecraft-Server in nur wenigen Minuten mit minimalem Aufwand. +- **Anpassbarer Arbeitsspeicher**: Stelle den maximalen und minimalen Arbeitsspeicher für die Java Virtual Machine über Umgebungsvariablen ein. +- **Download der Server-JAR**: Lade die Minecraft-Server-JAR automatisch von einer angegebenen URL. +- **EULA-Akzeptanz**: Akzeptiere die Minecraft EULA automatisch beim Start. + +### Verwendung mit Tags + +#### 1. **Image herunterladen** + +```bash +docker pull wimdevgroup/minecraft:fabric-1.21.1 +``` + +#### 2. **Container starten** + +Um einen neuen Minecraft-Server-Container zu starten, verwende den folgenden Befehl: + +```bash +docker run -d -p 25565:25565 -e MEMORY=2G --name minecraft-server wimdevgroup/minecraft:fabric-1.21.1 +``` + +- **VERSION**: Ersetze `fabric-1.21.1` mit der gewollten Minecraft-Version. +- **MEMORY**: (Optional) Setze die Menge an RAM, die der Minecraft-Server verwenden soll (Standard: 2G). + +### Verwendung mit eigener Server-JAR-URL + +#### 1. **Image herunterladen** + +```bash +docker pull wimdevgroup/minecraft:universal +``` + +#### 2. **Container starten** + +Um einen neuen Minecraft-Server-Container zu starten, verwende den folgenden Befehl: + +```bash +docker run -d -p 25565:25565 -e MEMORY=2G -e JAR= --name minecraft-server wimdevgroup/minecraft:universal +``` + +- **MEMORY**: (Optional) Setze die Menge an RAM, die der Minecraft-Server verwenden soll (Standard: 2G). +- **JAR**: Ändere die URL zu der benötigten Minecraft-Server-JAR. + +### Umgebungsvariablen + +| Variable | Beschreibung | Standardwert | +|----------|-------------------------------------------|----------------| +| MEMORY | Maximaler und minimaler Speicher (z. B. 2G) | 2G | +| JAR | URL zur Minecraft-Server-JAR | - | + +### Expose Ports + +- **25565**: Standardport für Minecraft-Server. + +### Support + +Wenn du Fragen oder Probleme hast, kontaktiere mich bitte über [info@wimwenigerkind.com](mailto:info@wimwenigerkind.com) oder den Docker Hub-Support. + +## EN + +### Description + +A Docker image for a Minecraft server based on OpenJDK. This image allows for easy hosting of a Minecraft server. With flexible memory configuration, you can get your own Minecraft server up and running in just a few minutes. + +### Features + +- **Easy Setup**: Start your Minecraft server in just a few minutes with minimal effort. +- **Customizable Memory**: Configure the maximum and minimum memory for the Java Virtual Machine through environment variables. +- **Download Server JAR**: Automatically download the Minecraft server JAR from a specified URL. +- **EULA Acceptance**: Automatically accept the Minecraft EULA upon startup. + +### Usage with Tags + +#### 1. **Pull Image** + +```bash +docker pull wimdevgroup/minecraft:fabric-1.21.1 +``` + +#### 2. **Start Container** + +To start a new Minecraft server container, use the following command: + +```bash +docker run -d -p 25565:25565 -e MEMORY=2G --name minecraft-server wimdevgroup/minecraft:fabric-1.21.1 +``` + +- **VERSION**: Replace `fabric-1.21.1` with the desired Minecraft version. +- **MEMORY**: (Optional) Set the amount of RAM that the Minecraft server should use (default: 2G). + +### Usage with Custom Server JAR URL + +#### 1. **Pull Image** + +```bash +docker pull wimdevgroup/minecraft:universal +``` + +#### 2. **Start Container** + +To start a new Minecraft server container, use the following command: + +```bash +docker run -d -p 25565:25565 -e MEMORY=2G -e JAR= --name minecraft-server wimdevgroup/minecraft:universal +``` + +- **MEMORY**: (Optional) Set the amount of RAM that the Minecraft server should use (default: 2G). +- **JAR**: Change the URL to the required Minecraft server JAR. + +### Environment Variables + +| Variable | Description | Default Value | +|----------|-------------------------------------------|-----------------| +| MEMORY | Maximum and minimum memory (e.g., 2G) | 2G | +| JAR | URL to the Minecraft server JAR | - | + +### Exposed Ports + +- **25565**: Default port for Minecraft servers. + +### Support + +If you have questions or issues, please contact me at [info@wimwenigerkind.com](mailto:info@wimwenigerkind.com) or through Docker Hub support. \ No newline at end of file diff --git a/Universal/Dockerfile b/Universal/Dockerfile new file mode 100644 index 0000000..ef606c0 --- /dev/null +++ b/Universal/Dockerfile @@ -0,0 +1,24 @@ +# Basis-Image with Java +FROM openjdk:24-jdk-slim + +# Install curl +RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/* + +# Workdirectory +WORKDIR /minecraft + +# Accept EULA +RUN echo "eula=true" > eula.txt + +# Expose Minecraft port +EXPOSE 25565 + +# Define default memory if not set +ENV MEMORY=2G + +# Download Minecraft-Server-JAR with entrypoint script +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +# Use entrypoint to allow variable expansion and download JAR +ENTRYPOINT ["/entrypoint.sh"] diff --git a/Universal/entrypoint.sh b/Universal/entrypoint.sh new file mode 100644 index 0000000..b8e2cdd --- /dev/null +++ b/Universal/entrypoint.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Check if JAR URL is provided +if [ -z "$JAR" ]; then + echo "Error: JAR URL not provided." + exit 1 +fi + +# Download the Minecraft server JAR +curl -o minecraft-server.jar "$JAR" + +# Run the Minecraft server +java -Xmx${MEMORY} -Xms${MEMORY} -jar minecraft-server.jar nogui diff --git a/Vanilla/1.21.1/Dockerfile b/Vanilla/1.21.1/Dockerfile new file mode 100644 index 0000000..65ef6a8 --- /dev/null +++ b/Vanilla/1.21.1/Dockerfile @@ -0,0 +1,20 @@ +# Basis-Image with Java +FROM openjdk:24-jdk-slim + +# Workdirectory +WORKDIR /minecraft + +# Download Minecraft-Server-JAR (Fabric) +ADD https://meta.fabricmc.net/v2/versions/loader/1.21.3/0.16.9/1.0.1/server/jar minecraft-server.jar + +# Accept EULA +RUN echo "eula=true" > eula.txt + +# Expose Minecraft port +EXPOSE 25565 + +# Define memory +ENV MEMORY=2G + +# Use shell form for CMD to allow variable expansion +CMD ["sh", "-c", "java -Xmx${MEMORY} -Xms${MEMORY} -jar minecraft-server.jar nogui"]