pufferpanel / templates

PufferPanel server templates. These templates are importable via the PufferPanel web interface.
Apache License 2.0
83 stars 139 forks source link

Update Minecraft based images to Java 17 release #115

Open ryantheleach opened 2 years ago

ryantheleach commented 2 years ago

Minecraft 1.18.1 has a hard dependency on the (release) version of Java 17.

A late change to Java 17, means that images based on 16, or early access versions of Java 17 should be updated in order to support.

See this crash for details (https://gist.github.com/ryantheleach/b9a63a7fb51361e6f8e1ac12a8f9e796)

Currently not sure if this affects the Java17 puffer templates or not, that needs further testing. But stuff based on alpine 17 I believe is affected.

Needs update for 1.18

openjdk:8-alpine

https://github.com/PufferPanel/templates/blob/v2/minecraft-spigot/minecraft-spigot.json#L46

openjdk:16

https://github.com/PufferPanel/templates/blob/v2/minecraft-paper/minecraft-paper.json#L40 https://github.com/PufferPanel/templates/blob/v2/minecraft-forge-117%2B/minecraft-forge-117%2B.json#L42 https://github.com/PufferPanel/templates/blob/v2/minecraft-fabric/minecraft-fabric.json#L109

Needs Testing

amazoncorretto:17

https://github.com/PufferPanel/templates/blob/v2/minecraft-purpur/minecraft-purpur.json#L40 https://github.com/PufferPanel/templates/blob/v2/minecraft-airplane-purpur/minecraft-airplane-purpur.json#L40

openjdk:17-alpine

https://github.com/PufferPanel/templates/blob/v2/minecraft-vanilla/minecraft-vanilla.json#L36

(Mostly likely out of date, and using an ea release see: https://github.com/PaperMC/Paper/issues/7062 )

LordRalex commented 2 years ago

That is slightly annoying that alpine is not updated..... I want to use the smallest image possible, so I'm considering 17-jdk-slim-buster as my target there. I'll do testing to see what that is going to do with it.

I need to really just get automated tests set up on ones that I can....

ryantheleach commented 2 years ago

@LordRalex After some research, (and no testing) I believe https://hub.docker.com/layers/eclipse-temurin/library/eclipse-temurin/17-alpine/images/sha256-b30fa3ce4323ce037cb95fd2729dd4662d86f0ee2986452527cc645eaf258a1d?context=exploreis an appropriate replacement?

If you were unaware (as I was), Eclipse Termurin is the name of the project under new Eclipse management, of what was traditionally, adoptopenjdk.net .

It's 238.49 MB vs 181.71 MB of the previous openJDK 17 release.

ryantheleach commented 2 years ago

https://github.com/docker-library/oi-janky-groovy/issues/18#issuecomment-996884877

Apparently Alpine is only issued on Early Access releases, because it's currently not supported officially by the openjdk releases.

TLDR;

https://github.com/docker-library/openjdk/issues/272

openjdk 17 Alpine not production-ready because it hasn’t been tested thoroughly enough to be considered GA, see https://jdk.java.net/17/, 766a818#diff-2b39d33506bc7a34cef4b9ebf4cf8b1e3a5532f2131ceb37011b94261cec5f8c

From https://jdk.java.net/17/

Notes The Alpine Linux build previously available on this page was removed as of the first JDK 17 release candidate. It’s not production-ready because it hasn’t been tested thoroughly enough to be considered a GA build. Please use the early-access JDK 18 Alpine Linux build in its place.

LordRalex commented 2 years ago

Yeah... I think i've seen those discussions before on it.

I am partial to just the openjdk images, and I liked alpine for it's small images, but since it's not officially supported, I don't know if using it even with Adoptium/Eclipse's variant of alpine will be the best move.

I will have to spin up each image directly and see how it goes. JDKs are required though because Spigot............

For consideration: