Directories

After you extract the repository manager archive, two directories will appear:

Installation directory

This directory is contains the Nexus Repository Manager application and all the required additional components such as Java libraries and configuration files. The name of the directory by default uses nexus- and is appended with the version name. In this section, and throughout the documentation, it is referred to as $install-dir in any code segments.

Data directory

This directory contains all the repositories, components and other data that are stored and managed by the repository manager. The default location of the data directory is  ../sonatype-work/nexus3 relative to the installation directory. In this section, and throughout the documentation, it is referred to as $data-dir in any code segments.

Installation Directory

The installation directory includes a number of nested directories:

$ ls -1 nexus-<version>
LICENSE.txt
NOTICE.txt
bin
deploy
etc
lib
public
system

LICENSE.txt and NOTICE.txt

These are files that contain legal details about the license and copyright notices

bin

This directory contains the nexus startup script itself as well as startup-related configuration files

etc

This directory contains configuration files

lib

This directory contains binary libraries related to Apache Karaf

public

This directory contains public resources of the application

system

This directory contains all components and plugins that constitute the application

Data Directory

The data directory, found by default at ../sonatype-work/nexus3, includes subdirectories that contain all the components, repositories, configurations and other data persisted by the repository manager. The subdirectories are listed as:

blobs/

The parent directory of all file system based blob stores that are not defined with an absolute storage path. For example, the default blob store will live at ../sonatype-work/nexus3/blobs/default .

cache/

This directory contains information on currently cached Karaf bundles

db/

This directory contains the OrientDB databases which are the primary storage for your repository manager’s metadata

elasticsearch/

This directory contains the currently configured state of Elasticsearch

etc/

This directory contains the main runtime configuration and customization of the repository manager. The files are explained further in Configuring the Runtime Environment.

health-check/

This directory contains cached reports from the Repository Health Check feature

keystores/

This contains the automatically generated key used to identify your repository manager

log/

This directory contains several log files that capture information about various aspects of the running repository manager. The nexus.log and request.log files are rotated every day so this directory also contains archived copies of these files. To reclaim disk space, you can delete old log files from the logs directory.  Log files found in this directory include: 

    • nexus.log - The main repository manager application log. Log messages contain standard log output fields including date/time, log level, the associated thread, class and message.
    • request.log - Used to log http access requests to a running repository manager. Log messages contain information such as client host, user and HTTP request attributes including status code, bytes, and user-agent header.
    • jvm.log  - Contains JVM stdout, stderr and thread dump messages
    • karaf.log  - This is the Apache Karaf container log file which contains messages specific to the repository manager startup

The log directory also contains a tasks subdirectory which contains separate, uniquely named (by date, time and task name) log output files for each task that is run. See Task Logging for more details concerning naming strategy and content of these files.

tmp/

This directory is used for temporary storage

Unless you specify a relative path, running Export configuration & metadata for backup task creates a folder with a snapshot of the databases, in the data directory. See Prepare a Backup for the repository manager to learn how to configure this task.