From 89528e7b8a7aeb06cebfd0722d8220043c9b948c Mon Sep 17 00:00:00 2001 From: devdamo <77869423+devdamo@users.noreply.github.com> Date: Thu, 4 Sep 2025 07:00:55 +0100 Subject: [PATCH] Add Java runtime blueprint and metadata (#332) * Add Java runtime blueprint and metadata Introduces a new Java blueprint with Docker Compose, template configuration, and logo for multi-version Java environments. Updates meta.json to register the Java runtime, supporting versions 8-21 for use cases like Minecraft servers and Spring Boot apps. * Move Java Runtime entry in meta.json Relocated the Java Runtime (Multi-Version) entry within meta.json for improved organization. No changes to the entry's content. * Update template.toml --- blueprints/java/docker-compose.yml | 19 +++++++++++++++++++ blueprints/java/java.png | Bin 0 -> 2573 bytes blueprints/java/template.toml | 29 +++++++++++++++++++++++++++++ meta.json | 18 ++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 blueprints/java/docker-compose.yml create mode 100644 blueprints/java/java.png create mode 100644 blueprints/java/template.toml diff --git a/blueprints/java/docker-compose.yml b/blueprints/java/docker-compose.yml new file mode 100644 index 00000000..7d3d02cd --- /dev/null +++ b/blueprints/java/docker-compose.yml @@ -0,0 +1,19 @@ +services: + java-app: + image: ghcr.io/pterodactyl/yolks:java_${JAVA_VERSION} + restart: unless-stopped + stdin_open: true + tty: true + volumes: + - app-data:/home/container + working_dir: /home/container + environment: + - STARTUP=${STARTUP_COMMAND} + - SERVER_JARFILE=${SERVER_JARFILE} + - JAVA_VERSION=${JAVA_VERSION} + ports: + - ${SERVER_PORT} + user: container + +volumes: + app-data: {} \ No newline at end of file diff --git a/blueprints/java/java.png b/blueprints/java/java.png new file mode 100644 index 0000000000000000000000000000000000000000..03350b05bd7d0c305838d5c98a216c3969c92e05 GIT binary patch literal 2573 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 literal 0 HcmV?d00001 diff --git a/blueprints/java/template.toml b/blueprints/java/template.toml new file mode 100644 index 00000000..5bd33a22 --- /dev/null +++ b/blueprints/java/template.toml @@ -0,0 +1,29 @@ +[variables] +java_version = "21" +server_port = "25565" +startup_command = "java -Xmx1024M -Xms512M -jar server.jar nogui" +server_jarfile = "server.jar" + +[config] +[[config.domains]] +serviceName = "java-app" +port = 25565 +host = "${domain}" + +[config.env] +JAVA_VERSION = "${java_version}" +SERVER_PORT = "${server_port}" +STARTUP_COMMAND = "${startup_command}" +SERVER_JARFILE = "${server_jarfile}" + +[[config.mounts]] +filePath = "/home/container/server.properties" +content = """ +# Minecraft server properties +server-port=25565 +motd=Java Server powered by Dokploy +online-mode=true +difficulty=easy +gamemode=survival +max-players=20 +""" \ No newline at end of file diff --git a/meta.json b/meta.json index 2f1c6724..c9aafd16 100644 --- a/meta.json +++ b/meta.json @@ -2525,6 +2525,24 @@ "tools" ] }, + { + "id": "java", + "name": "Java Runtime (Multi-Version)", + "version": "8-21", + "description": "Configurable Java runtime environment supporting versions 8, 11, 16, 17, and 21. Perfect for Minecraft servers, Spring Boot apps, and custom Java applications.", + "logo": "java.png", + "links": { + "github": "https://github.com/pterodactyl/yolks", + "website": "https://java.com/", + "docs": "https://docs.oracle.com/en/java/" + }, + "tags": [ + "java", + "minecraft", + "runtime", + "pterodactyl" + ] + }, { "id": "jellyfin", "name": "jellyfin",