Where Does Openfire Store Config and Data?
Where Openfire keeps openfire.xml, security keys, and embedded database files, and what backups need.
Last updated
Openfire splits state between XML files and a database. The conf folder holds openfire.xml for bootstrap settings plus security.xml for encryption keys, while chat history and runtime properties live in the database or embedded-db tree. Admin console changes land in the ofProperty table.
Backups must unite all three: config, keys, and data. Keys without config decrypt nothing, and config without keys locks you out. Stop the service before copying embedded files; external databases dump through their own tools.
Where Openfire stores this, by platform
/opt/openfire/conf/openfire.xml
Bootstrap config plus encryption keys beside it; embedded HSQLDB files in embedded-db when used. Tarball installs use /opt/openfire while distro packages may split conf under /etc. Back up all three halves together with the service stopped. External databases replace the embedded tree via JDBC settings.
Frequently asked questions
how do I back up Openfire
Copy conf/openfire.xml, conf/security.xml, and the embedded-db folder or a database dump with the service stopped. Keys and config must travel together or encrypted values break. Finish with a healthcheck-style startup and admin login test.
embedded or external database
Keep the default database for trials; switch to external Postgres or MySQL for production through the JDBC settings. Embedded HSQLDB files sit beside conf and move with the install. External setups back up through database tooling instead.
moved servers and logins broke
Restore security.xml alongside openfire.xml so encrypted passwords decrypt correctly. Without matching keys the server may refuse to start. Reconfigure encrypted values manually when keys are truly lost.
Notice an outdated path? Let us know.