The only real challenge was redoing our settings in the server config, instead of string-bashing XML we needed to string-bash JSON, it really wasn’t too bad, because we knew the 3 or 4 settings we were changing. Biggest hurdle was the format isn’t documented, but it’s easy enough to login to the server admin, change the setting, see what it writes to the file.
As an example:
RUN sed -i 's!</mail>!<server port="587" smtp="email-smtp.eu-west-1.amazonaws.com" ssl="false" tls="true" username="u" password="p"/></mail>!' /opt/lucee/server/lucee-server/context/lucee-server.xml
became
COPY requires/mail_server.json /tmp/
RUN jq '.mailServers += [input]' /opt/lucee/server/lucee-server/context/.CFConfig.json /tmp/mail_server.json > foo
RUN mv foo /opt/lucee/server/lucee-server/context/.CFConfig.json
Just something people would need to be aware of; “if you were doing X to set a setting, you need to do Y now”. Same as “if you were depending on Java version X, it’s now Y”.
If expectations were set that it’s a new major version, with new everythings, not sure anyone would be too bothered.
I’d say release a Docker version of 6.x, massively trim down the text on Docker Hub, call out an “Upgrading from 5x” section, and call it done.
Then get it integrated into the main release as time allows.