2.1. Requirements¶
Note
This section is almost the same as the hub requirements section - the requirements for all vantage6 components are very similar.
Below are the minimal requirements for vantage6 infrastructure components. Note that these are recommendations: it may also work on other hardware, operating systems, versions of Python etc. (but they are not tested as much).
Hardware
x86 CPU architecture + virtualization enabled
4 GB memory (minimum)
50GB+ storage
Stable and fast (1 Mbps+ internet connection)
Software
Operating system: Ubuntu 20.04+ , MacOS Big Sur+, Windows 10+
Python v3.13
Helm
A Kubernetes environment (e.g. Microk8s, Docker Desktop, Kubernetes Cluster)
Below, we provide more details on the software requirements.
Note
The hardware requirements of the node also depend on the algorithms that the node will run. For example, you probably need more compute power for a machine learning model than for a descriptive statistical algorithm.
2.1.1. Python¶
Installation of any of the vantage6 packages requires Python 3.13. For installation instructions, see python.org or use the package manager native to your OS and/or distribution.
Note
We recommend you install vantage6 in a new, clean Python environment.
Higher versions of Python (3.14+) will most likely also work, as might lower versions. However, we develop and test vantage6 on version 3.13, so that is the best choice.
Warning
Note that Python 3.13 is only used in vantage6 v5.0.0 and higher. In lower versions, Python 3.10 is required. Before vantage6 v3.8.0, Python 3.7 was used.
2.1.2. Kubernetes environment¶
A Kubernetes environment is required to run the vantage6 infrastructure. For development environments, we recommend using Microk8s or Docker Desktop. For production environments, we recommend using a Kubernetes cluster, or microk8s on a VM. Here are some details on the different options:
Microk8s: For Ubuntu, we recommend installing Microk8s, which is a lightweight Kubernetes distribution that is easy to install and use. We recommend using this for development environments as well as for deploying nodes. Deploying the central hub components (HQ, auth, algorithm store) is also possible with Microk8s, but usually it would be preferable to use a Kubernetes cluster, e.g for easier scaling.
Docker Desktop: If you are using Docker Desktop, you can simply switch on Kubernetes. This is useful for development environments. This is only recommended for development environments.
Kubernetes Cluster: For production environments, we recommend using a Kubernetes cluster. There are numerous cloud providers that offer Kubernetes as a service. An example is the Azure Kubernetes Service but there are many others, including those from European providers.
Note
To use vantage6, you also need to install kubectl. Usually, though, this comes
with your Kubernetes distribution. kubectl is a command line tool for
managing Kubernetes clusters. Vantage6 uses it to manage the vantage6 Kubernetes
resources.
2.1.3. Helm¶
Helm is a package manager for Kubernetes. It
is used to deploy and manage the Kubernetes resources for the vantage6 infrastructure.
The vantage6 infrastructure is available in several Helm charts. Therefore, you need
helm to deploy and manage the Kubernetes resources for the vantage6 infrastructure.