Skip to main content

System Requirements for High Availability Deployments

This section covers specific requirements for Nexus Repository high availability deployments.

Choosing High Availability

HA is an advanced feature that requires careful consideration. Consider the following points before deploying to an HA environment:

  • Containerized and cloud HA deployments require using several advanced technologies (e.g., Kubernetes, cloud technologies) outside the Sonatype Suite's scope. You should ensure that you have in-house expertise in these technologies before attempting an HA deployment.

  • HA requires additional infrastructure and maintenance overhead. Deploying HA without a strong need or use case may not yield your desired return on investment.

  • Sonatype Nexus Repository High Availability deployments should be fully deployed and tested in a development environment before attempting to deploy in production. Improper deployment in a production environment can result in critical data loss.

High Availability Requirements

Note

Along with the HA-specific requirements listed below, you must also ensure that each node meets all normalSonatypeNexus Repository system requirements.

Note

All architecture must be in one region (if deploying to the cloud) or one data center (if deploying on-premises).

Due to the number of interactions with the database, attempting an HA deployment across regions or data centers would cause significant latency issues.

Note

We highly recommend considering the information presented in Sonatype Nexus Repository High Availability Performance Data Using AWS or Sonatype Nexus Repository High Availability Performance Data Using Azure when sizing your deployment.

Sonatype Nexus Repository Requirements

HA requires at least two Sonatype Nexus Repository instances with the following:

  • Sonatype Nexus Repository 3.50.0+

  • A Sonatype Nexus Repository Pro license

  • Identical configuration in their $data-dir/etc/nexus.properties files

Note

We recommend that on-premises containerized deployments have only one Sonatype Nexus Repository instance per machine (e.g., if you are running a cluster of three Sonatype Nexus Repository instances, you should have three virtual/bare metal machines).

Minimum CPU and Memory Requirements

Each instance must meet Sonatype Nexus Repository CPU requirements and memory requirements.

Docker Repositories

If the Sonatype Nexus Repository deployment will contain more than one Docker repository, you must use one of the following:

Tip

If you are deploying to an AWS environment, be sure to review the optional external DNS step we've provided in our deployment documentation to help.

Additional Technology Requirements

You also must have the following additional technologies:

  • A load balancer (e.g., HAProxy, NGINX, Apache HTTP, or AWS ELB)

  • An AWS S3, Azure Blob Store, or NFS v4 blob store location for storing components that can be commonly accessed by all active nodes

    • The provided sample YAMLs and Helm charts disable the default blob stores automatically. The default blob store is local to a machine running a single Sonatype Nexus Repository instance, and default repositories use the default blob store.

      If you use the default blob store, you will need to migrate your blobs to shared blob storage for your HA Sonatype Nexus Repository instances to use.

      See Migrating to Shared Blob Storage for more details.

  • An external PostgreSQL database that meets the following requirements:

    • Version 13 or later

    • Includes the pg_trgm (trigram) module (used to create a more performant search index); see Trigram Module Requirement for PostgreSQL Database for instructions on installing this module

    • Sized appropriately based on your request traffic and desired number of nodes

      Note

      To be fully HA, PostgreSQL replication or similar would be required; however, this is outside of our support scope.

Supported Infrastructure and Support Limitations

The table below outlines the supported infrastructure for Sonatype Nexus Repository HA deployments. While other technologies may work, this would fall outside of our support scope.

Note

While this table covers multiple vendors, our Support team's expertise is in AWS technologies only. This is why it is incredibly important that you ensure you have in-house expertise in the technologies you are using for your HA deployment.

Hardware/Software Components

Specific Technology and Version (As Applicable)

Sonatype Nexus Repository

  • Sonatype Nexus Repository Pro 3.50.0+

Java Runtime Environment

  • Nexus Repository versions up to and including release 3.66.0 support and require JRE 8

  • Versions 3.67.0+ support JRE 8 or 11

  • Versions 3.69.0+ support JRE 8, 11, or 17; however, OrientDB does not support Java 17

See the main Nexus Repository System Requirements Java section for details

Cloud Providers

  • AWS

  • Azure

  • Google Cloud

Host Operating System

Any version of the following that can run your Java version:

  • UNIX

  • Windows

  • OSX

Host Servers

  • AWS EC2

  • Azure VM

  • Bare metal servers

  • Hyper-V virtual machines

  • VMWare virtual machines

Databases

  • AWS Aurora PostgreSQL 13.3+

  • AWS RDS PostgreSQL 13.3+

  • Azure Database for PostgreSQL Flexible Server using PostgreSQL 13+

  • Google Cloud SQL for PostgreSQL 14.13+

  • Self-managed PostgreSQL (on-prem or cloud) 13+

Blobstores

  • AWS S3

  • Azure Blob Storage

    • Premium performance block blob store option (Preferred)

  • NFS v4

  • Google Cloud Storage

Per-Node Local Storage (sonatype-work directory)

  • AWS EBS

  • AWS EFS

  • Azure Storage

  • Google Cloud Filestore

  • NFS v4

Orchestration Platforms

  • AWS EKS v1.23+ (Recommended)

  • Azure AKS 1.25.5

  • Google Kubernetes Engine 1.30+

  • Kubernetes (on-prem deployments)

Note

CloudFormation and Terraform scripts are not available for HA.

Browsers

  • Apple Safari

  • Google Chrome

  • Microsoft Edge

  • Mozilla Firefox

Load Balancers

  • AWS ALB

  • Azure Load Balancer

  • Nginx/httpd (latest version)

Formats

  • Apt

  • Cocoapods

  • Conan

  • Conda

  • Docker

  • Git LFS

  • Go

  • Helm

  • Maven

  • npm

  • NuGet V2

  • NuGet V3

  • p2

  • PyPI

  • R

  • Raw

  • RubyGems

  • Rust/Cargo

  • Yum