Last modified by Vincent Massol on 2026/07/27 17:54

Show last authors
1 The XWiki Docker image ships a complete XWiki installation running on Tomcat, and is meant to be configured from outside the container: changing how an instance behaves never requires rebuilding it.
2
3 Configuration happens at three levels, from the simplest to the most invasive:
4
5 * [[Environment variables>>doc:documentation.xs.admin.installation.methods.install-xwiki-docker.configuration.environment-variables.WebHome]] passed to the container are the first level, and the only one most instances need. They cover the database connection, the servlet context path, the Solr endpoint, and ##JAVA_OPTS## for JVM settings such as those used to [[debug XWiki remotely>>doc:documentation.xs.admin.installation.methods.install-xwiki-docker.configuration.remote-debugging.WebHome]].
6 * The [[configuration files>>doc:documentation.xs.admin.installation.methods.install-xwiki-docker.configuration.configuration-files.WebHome]] cover everything the environment variables do not expose. They are written on the container's first start and then kept in the permanent directory, so [[your own changes>>doc:documentation.xs.admin.installation.methods.install-xwiki-docker.configuration.configuration-files.custom-configuration-files.WebHome]] survive later starts.
7 * [[Tomcat's own configuration>>doc:documentation.xs.admin.installation.methods.install-xwiki-war.configure-servlet-container.configure-tomcat-docker.WebHome]] is the last resort, for connector settings and other servlet-container behaviour that the XWiki configuration does not reach.
8
9 Independently of the level, anything that has to outlive the container, namely the permanent directory and the database, belongs on a [[Docker volume>>doc:documentation.xs.admin.installation.methods.install-xwiki-docker.configuration.volumes.WebHome]] or a bind mount. That is what makes an upgrade a matter of replacing the container while keeping the data.

Get Connected