Create a Helm deployment values.yaml file

You create a Helm deployment YAML file containing all the configurations for your Neo4j standalone instance.

Important configuration parameters

neo4j.name

Starting from Neo4j 5.0.0, standalone servers and cluster servers have no distinction. This means a standalone server can be upgraded to a cluster by adding more servers. Therefore, the neo4j.name parameter, which value links together servers in a cluster, is mandatory, and the installation will fail if it is not specified. neo4j.name must be unique within a namespace.

neo4j.resources

The size of a Neo4j instance is defined by the values of the neo4j.resources.cpu and neo4j.resources.memory parameters. The minimum is 0.5 CPU and 2GB memory. If invalid or less than the minimum values are provided, Helm will throw an error, for example:

Error: template: neo4jtemplates/_helpers.tpl:157:11: executing "neo4j.resources.evaluateCPU" at <fail (printf "Provided cpu value %s is less than minimum. \n %s" (.Values.neo4j.resources.cpu) (include "neo4j.resources.invalidCPUMessage" .))>: error calling fail: Provided cpu value 0.25 is less than minimum.
 cpu value cannot be less than 0.5 or 500m

For more information, see Configure resource allocation.

neo4j.password

The password for the neo4j user.
If you do not provide a password, the Neo4j Helm chart will automatically generate one for you. (Make a note of it.)

You cannot use neo4j as the initial password as this is the default password.

neo4j.edition and neo4j.acceptLicenseAgreement

By default, the standalone Helm chart installs Neo4j Community Edition. If you want to install Neo4j Enterprise Edition, set the configuration parameters edition: "enterprise" and acknowledge license compliance by setting neo4j.acceptLicenseAgreement to "yes".

volumes.data

The volumes.data parameter maps the data volume mount of your Neo4j to the persistent volume that you have for that instance. For more information, see Volume mounts and persistent volumes.

For details of all Neo4j Helm chart configuration options, see Configure a Neo4j Helm deployment.

Create a values.yaml file

Select the tab as per your Kubernetes environment and using the provided example, create a YAML file for your standalone instance.

This guide assumes that the YAML file is named my-neo4j.values.yaml.

neo4j:
  name: my-standalone
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "dynamic"
    dynamic:
      # In GKE;
      # * premium-rwo provisions SSD disks (recommended)
      # * standard-rwo provisions balanced SSD-backed disks
      # * standard provisions HDD disks
      storageClassName: premium-rwo
neo4j:
  name: my-standalone
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "dynamic"
    dynamic:
     # gp2 is a general-purpose SSD volume
     storageClassName: gp2
neo4j:
  name: my-standalone
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: "dynamic"
    dynamic:
      # * managed-csi-premium provisions premium SSD disks (recommended)
      # * managed-csi provisions standard SSD-backed disks
      storageClassName: managed-csi-premium
neo4j:
  name: my-standalone
  resources:
    cpu: "0.5"
    memory: "2Gi"

  # Uncomment to set the initial password
  #password: "my-initial-password"

  # Uncomment to use enterprise edition
  #edition: "enterprise"
  #acceptLicenseAgreement: "yes"

volumes:
  data:
    mode: defaultStorageClass
    defaultStorageClass:
      requests:
        storage: 2Gi