Skip to main content

Sonatype Nexus Repository System Requirements

This topic covers system requirements for the Sonatype Nexus Repository.

Supported Nexus Repository Versions

Sonatype's Product Development Lifecycle is fully explained in Sonatype Sunsetting Information. You can find specific information about supported versions in Sonatype Nexus Repository 3 Versions Status.

Supported Operating Systems

Sonatype Nexus Repository supports the following operating systems:

  • Linux

  • MacOS

  • Windows

Sonatype does not test or support other operating systems.

Dedicated Operating System User Account (Recommended)

We strongly recommend using a dedicated OS user account to run each unique process on a given host. The Nexus Repository process user must be able to create a valid shell.

As a security precaution, do not run Nexus Repository as the root user.

Required File Handle Limits (Linux and MacOS)

Sonatype Nexus Repository typically consumes more file handles than the per-user default value allowed by Linux or MacOS operating systems. Also, while the Nexus Repository Docker image is configured with adequate file handle limits, some container platforms (e.g., Amazon ECS) will override the default limits.

Running out of file descriptors will lead to data loss. Therefore, you must permanently increase the limit on the number of open file descriptors for the user running Sonatype Nexus Repository to 65,536 or more before starting Nexus Repository.

Review the Adjusting File Handle Limits topic for instructions on adjusting file handle limits in Linux and MacOS as well as ensuring your container platform does not override the configured limits in the Docker image.

Supported Java Versions

Sonatype Nexus Repository is tested on and supports OpenJDK.

As of release 3.71.0, Nexus Repository requires Java 17.

Nexus Repository is compatible with both Intel and AMD CPU architectures.

For historic Java support information, see our Java Compatibility Matrix.

For information on obtaining a suitable JRE, see Obtaining and Verifying Suitable JRE.

CPU

Performance is primarily bounded by IO (disk and network) rather than CPU. Available CPUs will impact longer running operations and also the thread allocation algorithms of the web container.

See the Memory Recommendations by Profile Size section for suggested CPU configurations by deployment profile.

Memory Requirements

At a high level, expect to allocate up to two-thirds available RAM to Sonatype Nexus Repository; leave at least one-third RAM available for all other operating system processes and buffers.

Memory requirements vary by profile size. Due to use case complexity, there is no single defined requirement. The section below outlines Sonatype memory recommendations for small, medium, large, and very large profiles.

See our Nexus Repository Memory Overview topic for details about the different types of memory that Nexus Repository uses and example memory-related Java requirements.

Memory Suggestions by Profile Size

The profiles defined in the table below help gauge the typical memory requirements needed for a dedicated server host running Sonatype Nexus Repository.

Nexus Repository Memory Recommendations by Profile Size

Profile Size

Profile Description

CPUs

Disk Size (Blob)

RAM

Small

  • < 20 repositories

  • < 20GB total blob store size

  • single repository format type

8

20GB

8GB

Medium

  • < 50 repositories

  • < 200GB total blob store size

  • a few repository formats

8+

200GB

16GB

Large

  • < 200 repositories

  • > 200GB total blob store size

  • diverse repository formats

  • Note: Deployments of this scale should use a PostgreSQL database

12+

200GB or more

32GB

Very Large

  • 200+ repositories

  • ~10TB total blob store size

  • diverse repository formats

  • Note: Deployments of this scale should use a PostgreSQL database

16+

10TB or more

64GB

Postgres Server Recommendations by Profile Size

Profile Size

Profile Description

CPUs

Disk Size

RAM

Small

  • < 20 repositories

  • < 20GB total blob store size

  • single repository format type

4

100GB

16GB

Medium

  • < 50 repositories

  • < 200GB total blob store size

  • a few repository formats

8

200GB

32GB

Large

  • < 200 repositories

  • > 200GB total blob store size

  • diverse repository formats

16

200GB or more

32GB or more

Very Large

  • 200+ repositories

  • ~10TB total blob store size

  • diverse repository formats

16

300GB or more

64GB

Database Requirements

Sonatype Nexus Repository supports two database options: an embedded H2 database or an external PostgreSQL database. Using a PostgreSQL database requires a paid Pro license. New installations use an H2 database by default.

Important

Sonatype Nexus Repository's legacy embedded OrientDB database entered extended maintenance in August 2024. All Sonatype Nexus Repository customers are highly encouraged to migrate off of OrientDB. However, if you are unable to migrate, note that you will need to remain on the 3.70.x version line. Versions 3.71.0 and above do not support OrientDB.

H2 Requirements

Sonatype Nexus Repository supports 20,000 requests-per-day / 100,000 components in H2 deployments. Workloads beyond these limitations are not supported. Container-based deployments are also not supported in H2 deployments.

Temporary Directory

The temporary directory at $data-dir/tmp must not be mounted with noexec or repository manager startup will fail with java.lang.UnsatisfiedLinkError message of failed to map segment from shared object: Operation not permitted.

Disk Space Requirements

Required disk space for Nexus Repository varies by deployment size and complexity. You must have at least 4GB available disk space at all times; if available disk space drops below 4GB, the database will switch to read-only mode.

Sonatype Nexus Repository requires disk space for two primary directories:

  • Application Directory - Size varies slightly per release; as of August 2024, it is around 390MB. It is normal to have multiple application directories installed on the same host over time as you upgrade.

  • Data Directory - Size varies based on complexity and formats. Plan for substantial disk space. Note that formats like Docker and Maven can use very large amounts of storage (500GB easily).

File Systems

Nexus Repository stores multiple kinds of data and has two primary storage requirements to keep in mind when selecting a file system:

  1. Embedded data (H2, OrientDB (Legacy), Elastic Search) requires very responsive, fast storage, ideally local disk

  2. Blob storage (component binaries), which requires moderately responsive, high-capacity storage

The table below outlines various file systems and whether Nexus Repository can use them for embedded data and/or blob storage:

File System

Embedded data

Blob Stores

Comment

Local storage

(tick)

Supported

(tick)

Supported

Local storage is a good choice for both embedded data and binary storage.

NFS v4

(error)

Not Recommended

(See Comment)

(tick)

Supported

  • Most common protocol for network attached storage among Nexus Repository deployments.

  • NFSv4.1 or higher can be used for the work directory in small lightly loaded installations, but we have found that it does not provide sufficient performance for anything larger. In general it should be avoided for the work directory.

Amazon EBS

(tick)

Supported

(tick)

Supported

EBS is a viable choice for both embedded data and binary storage.

Amazon EFS

(error)

Unsupported

(tick)

Supported

(See Comment)

  • EFS isn't sufficiently responsive for embedded data, but is appropriate for binary storage.

  • EFS binary storage may not provide necessary throughput for heavy workloads in all configurations.

Amazon S3

N/A

(tick)

Supported

S3 semantics aren't suitable for embedded data, but S3 is popular for binary storage.

SMB, CIFS

(error)

Unsupported

(tick)

Supported

Problems are common with SMB or CIFS-mounted devices for embedded data.

Azure Blob Storage

N/A

(tick)

Supported

  • Available for blob storage from Nexus 3.30.0 Pro.

  • We support the premium performance block blob option.

  • For performance reasons, the Azure blob store should be in the same Azure region as the Nexus Repo installation.

Azure Files

(error)

Unsupported

(tick)

Supported

Issues with file handles have been observed when accessing embedded data over SMB.

S3-Compatible

(error)

Unsupported

(tick)

Supported

(See Comment)

  • Any fully compatible S3 implementation that supports the AWS SDK version 1.12.658 can be used as a blob store.

  • Note that performance characteristics may differ from AWS S3; we recommend working with your vendor to ensure sufficient performance for your desired workload.

NFS v3

(error)

Unsupported

Numerous customers have experienced inadequate performance with NFS v3.

GlusterFS

(error)

Unsupported

Split-brain problems and slow performance are common.

FUSE

(error)

Unsupported

FUSE based user-space filesystems are known to be unreliable for Nexus Repository.

File System Optimization

We also have some optimization suggestions to use at your discretion. Also consider the noatime option for your Nexus Repository work directory mounts and limit the symbolic links used as this will cause increased overhead whenever paths need to be resolved to an absolute file path.

Web Browser

Our general policy is to support the most recent modern browser version for your supported OS at time of Sonatype Nexus Repository version release date.

Vendor

Browser

Versions

Google

Chrome

latest at Nexus Repository version release

Mozilla

Firefox

latest and ESR* at Nexus Repository version release

Apple

Safari

latest at Nexus Repository version release

Microsoft

Edge

latest at Nexus Repository version release

Microsoft

Internet Explorer

No longer supported

Note

* There is a known issue with uploading licenses using Firefox ESR.