Skip to content

Prerequisites (Neptune 2.4)#

Self-hosted Neptune runs on a Kubernetes cluster.

This page lists the requirements and storage considerations for installing Neptune. Here's a summary:

  • Kubernetes 1.19+
  • Helm 3.6.2+
  • Internet access. This is only required for the installation itself, to fetch the installation artifacts.1
  • PV provisioner support in the underlying infrastructure
  • (optional) S3 compatible service or Azure Blob Storage
I'm interested in a trial/simplified installation

In the simplified (default) installation procedure, we guide you through setting up a simple K3s cluster and deploying Neptune there with default Helm chart settings.

This way, you can get a minimal installation that works well for lightweight setups or testing.

Go to simplified installation →

Before you start#

You'll need to obtain the following from Neptune support:

  • Your Docker Registry Credentials (DRC), to access and download the Neptune installation artifacts.

    Before deployment, add the DRC to the dockerRegistryCredentials parameter in the Helm Chart values file:

    values.yml
    dockerRegistryCredentials: "ewogICJ0e..............iCn0K"
    
  • Your Neptune license, to access the self-hosted instance once installation is complete.

Deployment host requirements#

You need the following on the machine or VM the performs the deployment:

  • Access to the Kubernetes cluster where Neptune will be installed.
  • The kubectl and helm command-line tools.

Neptune's system requirements#

The following are requirements of Neptune itself.

Platform requirements#

Note

The below are minimum requirements. The overall hardware requirements may grow depending on usage (what kind of metadata is logged).

Required version Processing Memory VM disk size for OS and files
Kubernetes 1.19+ 4 vCPUs 16 GB RAM 100 GB

Neptune's dependencies#

All of the listed dependencies are delivered as part of the installation process.

Requirements Recommended storage
MySQL version 5.7.14+ or 8.0.13+ 100 GB
Elasticsearch version 7.11+ 100 GB
Kafka version 2.8 10 GB
Neptune object storage2 S3-compatible, POSIX-compliant, or Azure Blob Storage

100 GB

Note: The storage needs depend heavily on how much data users actually upload.

You can use the services delivered with Neptune, although in some cases, it makes sense to use your own. In cloud deployments, for example, you can (and usually should) use a managed database.

Neptune object storage#

If you go with the services delivered with Neptune, you need to provide persistent storage for them to store users' data.

Neptune supports three types of storage:

  • PersistentVolumeClaim (default)

    If no other storage configuration is provided, Neptune instructs Kubernetes to provision a PVC using the defaults. In this case, the Kubernetes cluster where Neptune is deployed needs to be able to provision storage. Managed Kubernetes services (such as Amazon EKS, Google GKE, and Azure AKS) usually have this capability out of the box.

  • S3 compatible service, such as AWS S3, or Google Cloud Storage (GCS) via Interoperability API and MinIO

  • Azure Blob Storage

Only one type can be used at a time.

How much storage space is required?

If the metadata that is logged is simple and doesn't include many files, even 10 GB is plenty.

However, if the uploaded data possibly includes many large files, you should reserve as much as 1 TB of storage space.


  1. It's possible to use your own Container Registry. Contact us if you need to perform the deployment without internet access. 

  2. Refers to data stored in Neptune Run and Model objects, not cloud object storage. To learn more about data storage, see Privacy and security info