# Running on premises

{% hint style="danger" %}
This article is under construction. Please refer to your LIBNOVA contact for more information.
{% endhint %}

The LABDRIVE platform can be used running in the cloud, delivered by LIBNOVA as a service, or in your own infrastructure.

This article provides information on how to deploy, test and operate an on-premises deployment.

### Requirements&#x20;

Running LABDRIVE on premises requires the following elements:

* Database service
* Indexing service
* Kubernetes cluster
* CEPH-based storage
* Monitoring facilities
* Backup infrastructure

#### Topology

![](/files/EbyLUwadihqWcScovjaT)

#### Database service

LABDRIVE keeps most of your content information in a MySQL database, with the following being required:

* Managed MySQL v5.7 Database cluster.
* For low-medium volume repositories, the database cluster should scale to minimum of 5.000 concurrent connections. For medium-large repositories, it should be capable of scaling at least to 10.000 concurrent connections, all handled with minimal latency and maximum throughput.
* An account with *root* permissions should exist for the installation.

#### Elasticsearch indexing service

Logs, metadata and other information is kept in an Elasticsearch-based index, with the following being required:

* Managed Elasticsearch 7.1 cluster, with a minimum  of 3 master nodes and 4 data nodes, with at least 200GB of fast storage each.

#### Kubernetes cluster

Platform Processing is performed within a Kubernetes cluster, with the following being required:

Managed Kubernetes cluster:

* With at least 3 worker nodes with 100GB of fast storage each.
* Load Balancer and Ingress controllers
* Support for PVCs (Persistent Volume Claims)
* Support for concurrent storage access (Nodes will need to access a shared, persistent volume)
* Networking between pods already configured.

{% hint style="info" %}
For low-medium volume repositories, expect a workload between 200 and 300 pods running concurrently. For medium-high, expect 300-800 concurrent pods. Cluster networking should support the pods.
{% endhint %}

#### CEPH-based storage

Preserved content is finally stored in a CEPH cluster, with the following being required:

Managed CEPH v16 Cluster:

* The CEPH S3 endpoint should be externally accesible, so both LABDRIVE and LABDRIVE clients/users can reach it.
* S3 notifications enabled (using HTTP or AMQP)
* Notifications can be synchronous (slower writes) or asynchronous (faster, provided that the log pool is placed on fast media)

{% hint style="info" %}
Redundancy and availability as required by your use case.
{% endhint %}

#### Monitoring facilities

For production environments, the platform should be monitored, with the following being required:

* Zabbix version 6 monitoring platform.

### Deployment process

*In progress*

### Initial configuration

*In progress*

### Testing

*In progress*

### Operation and maintenance&#x20;

*In progress*


---

# 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.libnova.com/labdrive/configuration/running-on-premises.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.
