I run into this issue when trying to run openfire on a docker container (Running Openfire on docker best practices?). The problem was that even though there were some permissions issues, the exception was captured and logged (https://github.com/igniterealtime/Openfire/blob/006a329f9f0c28ce3ee0ad8743124e65d64db09a/src/java/org/jivesoftware/util/XMLProperties.java#L765), but since this was the initial setup, the installation was marked as “success”. The problem was that after a recreation of the container, the
openfire.xml was the initial one -> openfire thinks it’s not setup yet, and goes through the initial wizard.
I think this is a bug: if the initial setup can’t write the properties file, it should fail the configuration and not mark it as successful. Otherwise it’s confusing and it will break things (or at least go through the initial setup process) every time you restart the server.