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 00000000..03350b05 Binary files /dev/null and b/blueprints/java/java.png differ 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",