Confluence Home and other important directories

Confluence installation directory

The 'Confluence Installation directory' is the directory where Confluence was installed. This directory is also sometimes called the 'Confluence Install directory'.

Important files in the installation directory:

  • bin/setenv.bat or bin/setenv.sh
    This file is used to edit CATALINA_OPTS memory and garbage collection settings and define system properties. 
  • confluence/WEB-INF/classes/confluence-init.properties 
    This file contains the location of the Confluence Home directory. 

On this page:

Confluence home directory

The Confluence Home directory is the folder where Confluence stores its configuration information, search indexes and page attachments. Another term for 'Home directory' would be 'data directory'.

Finding the home directory

The location of the Confluence home directory is defined when you install Confluence. This location is stored in the confluence-init.properties file, which is located in the confluence/WEB-INF/classes directory of your Confluence Installation directory. 

When Confluence is running you can find the location of the home directory in  > General Configuration > System Information > Confluence Information - Confluence Home.

If your Confluence instance is clustered, you will also have a shared home directory which will contain some data (such as attachments and backups) that would otherwise reside in the home directory.

Contents of the home directory

The Confluence home directory contains some of the configuration data used by Confluence. This section outlines the purpose of the files and directories in the Confluence home directory.

File or directory Purpose

confluence.cfg.xml

This file contains all of the information necessary for Confluence to start up, such as:

  • Product license
  • Context path
  • Database details, such as location and connection pool settings
  • Paths to important directories

attachments/

This directory contains every version of each attachment stored in Confluence. 

You can specify an alternative directory for attachment storage by setting the attachments.dir property in confluence.cfg.xml.

backups/

Confluence will place its daily backup archives in this directory, as well as any manually generated backups. Backup files in this directory take the following form daily-backup-YYYY_MM_DD.zip

You can specify an alternative directory for backups by setting the daily.backup.dir property in confluence.cfg.xml.

bundled-plugins/

Confluence includes a set of bundled plugins. The bundled-plugins directory is where Confluence will unpack its bundled plugins when it starts up. This directory is refreshed on every restart, so removing a plugin from this directory will not uninstall the plugin, as it will be replaced the next time Confluence starts up. 

database/

This is where Confluence stores its database when configured to run with the Embedded H2 Database. In such cases this directory contains all Confluence runtime data. Installations configured to run using an external database such as MySQL will not use this directory.

The H2 database is provided for evaluating Confluence and is not supported as a production database. 

index/

The Confluence index is heavily used by the application for content searching and recently updated lists and is critical for a running Confluence instance. If data in this directory is lost or corrupted, it can be restored by running a full reindex from within Confluence. This process can take a long time depending on how much data is stored Confluence's database.

An alternative directory may be specified for the index by setting the lucene.index.dir property in confluence.cfg.xml

journal/

Entries are added to the journal when changes occur (such as a comment, like, new page). Journal entries are then processed and the entries added to the index (about every 5 seconds). In a cluster, the journal keeps the indexes on each node in sync.

logs/ Confluence's application logs are stored in this directory.

plugin-cache/

All Confluence plugins are stored in the database. To allow for quicker access to classes contained within the plugin JARs, Confluence will cache these plugins in the plugin-cache directory. This directory is updated as plugins are installed and uninstalled from the system and is completely repopulated from the database every time Confluence is restarted. Removing plugins from this directory does not uninstall them.

resources/

The resources directory stores any space logos used in your Confluence instance.  Space logos are stored in directories named with the spacekey. 

temp/

The temp directory is used for runtime functions such as exporting, importing, file upload and indexing. Files in this directory are temporary and can be safely removed when Confluence is offline. A daily job within Confluence deletes files that are no longer needed.

An alternative directory may be specified for temporary data by setting the webwork.multipart.saveDir property in confluence.cfg.xml.

thumbnails/

Stores temporary files for image thumbnails. This directory is essentially a thumbnail cache, and files deleted from this directory will be regenerated the next time the image is accessed.

 

Changing the location of the home directory

When Confluence first starts up, it reads the confluence-init.properties file to determine where to look for the Home directory. 

To change the location of the home directory edit the confluencee.home property in the confluence-init.properties file as follows:

  • Windows 
    In Windows, the path C:\confluence\data would be written as:
    confluence.home=C:/confluence/data  
    Note that all backslashes (\) are written as forward slashes (/)
  • Linux / Solaris
    On any Linux-based system, the property is defined using the normal directory syntax: 
    confluence.home=/var/confluence/

There can be no symbolic links within the Confluence home directory. You must define an absolute path. If disk space is an issue, place the entire confluence.home directory on a disk partition where there is enough space. The absolute path of generated files (such as exports) is compared with the absolute path of the confluence.home directory when constructing URLs. When a sub-directory has a different path, the URL will be incorrect, and you may receive "Page not found" errors. These measures are in place to prevent "directory traversal" attacks.

Fixing the Confluence Configuration

The Confluence configuration file: confluence-cfg.xml inside the home directory may contain references to the original location of your Confluence home. You will need to edit this file to update these references to also point to the new location. The two properties in this file that need to change are:

  • daily.backup.dir if you have not configured your backups to be placed elsewhere already
  • hibernate.connection.url if you are using the embedded HSQL database.

Database

All other data, including page content, is kept in the database. If you installed Confluence as a trial, or chose to use the embedded HSQL database during setup, the database will store its files under database/ in the Confluence Home Directory. Otherwise, the database management system you are connecting to is responsible for where and how your remaining data is stored.

Temp directory

The temp directory is configured in the Java runtime and some Confluence components write temporary files or lockfiles into this directory.

The temp directory is located in the installation directory as /temp.

To change the location of this directory, start the Java Virtual Machine in which confluence is running with the argument:

-Djava.io.tmpdir=/path/to/your/own/temp/directory.

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport