# Neurox Control plane standalone

Neurox Control can be installed anywhere that has ingress and persistent disk and does not require GPU nodes (those can be joined as Workload clusters with GPU nodes). A common approach is to deploy Neurox Control onto vanilla EKS, GKE, AKS or IKS cluster.

## Cluster requirements

* Kubernetes and CLI 1.29+
* Helm CLI 3.8+
* 4 CPUs
* 8 GB of RAM
* 120 GB Persistent Volume Storage
* Ingress reachable from Internet

## Prerequisites

At a minimum you will need both **cert-manager** and **ingress-nginx** to run the Neurox control chart.

**Cert Manager**

Required for automated provisioning of Neurox SSL/TLS certificates. Install with:

{% code overflow="wrap" %}

```
helm repo add jetstack https://charts.jetstack.io --force-update
helm repo update
helm install --create-namespace -n cert-manager cert-manager jetstack/cert-manager --version v1.17.0 --set crds.enabled=true
```

{% endcode %}

For more information on how to configure cert-manager: <https://cert-manager.io/docs/installation/helm/>

**Ingress Nginx**

Required to access the Neurox web portal. Install with:

{% code overflow="wrap" %}

```
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install --create-namespace -n ingress-nginx ingress-nginx ingress-nginx/ingress-nginx --version 4.12.1
```

{% endcode %}

For more information on how to configure ingress-nginx: [https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx](https://cert-manager.io/docs/installation/helm/)

## Credentials

* Your Neurox subdomain
* Your Neurox install key
* Your Neurox registry username and password

## Install

Once you have all of the above information, set the environment variables accordingly in the script below, then copy the script into your shell and run it. The install may take up to 5 minutes to complete.

{% code overflow="wrap" %}

```shell
NEUROX_DOMAIN=random-words.goneurox.com
INSTALL_KEY=i_installkeyhere
NEUROX_HELM_REGISTRY=oci://ghcr.io/neuroxhq/helm-charts
NEUROX_IMAGE_REGISTRY=registry.neurox.com
NEUROX_USERNAME=random-words-goneurox-com
NEUROX_PASSWORD=yourregistrypassword

kubectl create ns neurox
kubectl create secret generic -n neurox neurox-control-license --from-literal=install-key=${INSTALL_KEY}
kubectl create secret docker-registry -n neurox neurox-image-registry --docker-server=${NEUROX_IMAGE_REGISTRY} --docker-username=${NEUROX_USERNAME} --docker-password=${NEUROX_PASSWORD}

helm install neurox-control ${NEUROX_HELM_REGISTRY}/neurox-control --namespace neurox --set global.domain=${NEUROX_DOMAIN}
```

{% endcode %}

### Configure IdP

By default, Neurox supports local users and groups. If you want to [configure Google as your IdP](/installation/identity-providers/google.md), follow those instructions, set the secret, then include this argument at the end of the Helm install command above:

```
--set global.identityProviders.enabled={google}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.neurox.com/installation/alternative-install-methods/neurox-control-plane-standalone.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
