Upgrading Keycloak from 11 to 20 (Docker)

Hello community
planning to upgrade keycloak from 11 to 20 (docker)
considering WildFly to Quarkus migration, is it something to be done smoothly or there are caveats?
also should it be upgraded 11>12>13>…>20 or can be done directly?

any advice or best-practises-link is much appreciated


Clustering is different, I didn’t use docker, but I did upgrade 14,15,16…etc… I know some people did jump from 3.4.x to 18.x but I never done it myself! the only trick I recall was with clustering when moved from WildFly to Quarkus and couple of things related to SPI for JKS certs

What is the Wildfly/Quarkus difference in clustering? Aren’t they using both the same infinispan mechanisms/configs?

as far as i recall, in wildfly, the configurations were in the main config file like standalone.xml, “not sure if this was infinispan” then in Quarkus, you need separate XML that is based on inifinspan , but when we did the move from wildfly to Quarkus, we had to re configure our clustering

it turned out that I have to BUILD the image before I can use it
I’d upgraded it to 16.1.0 directly and it worked

the only thing I still dont get is that I need to use a keytool while building

RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:" -keystore conf/server.keystore
RUN /opt/keycloak/bin/kc.sh build

need to investigate. I’ll update this post if anyone need it in the future