# Overview

#### 🔰 **Introduction**

A Private Instance of Ellipsis Drive allows you to run the platform in your own (virtual) environment. It supports both standalone deployments and integration with existing storage infrastructure, including object storage and file-based storage systems.

Private Instances can run in any infrastructure that supports Docker-based workloads, including AWS, Google Cloud Platform, Microsoft Azure, on-premises environments, or hybrid architectures. They can also operate across geographically distributed architectures, enabling global performance optimisation for distributed users.

***

#### 💽 System model&#x20;

Ellipsis Drive functions as a control layer on top of existing storage infrastructure (passive storage).

This architecture provides:

* Unified access management across datasets
* Search and discovery across distributed storage
* Interoperability across formats and systems
* Scalable data processing and delivery

External storage systems, such as S3 buckets or other object storage, can be mounted to an Ellipsis Drive instance. Once indexed, these storage locations appear as read-only synced folders and can be explored alongside native Ellipsis Drive content.

Data in mounted storage remains managed by the underlying storage system and is not modified through Ellipsis Drive. These sources remain external to Ellipsis Drive’s storage layer.

When spatial data from mounted storage is processed or edited through Ellipsis Drive workflows, the resulting outputs are written as new versions within Ellipsis Drive. This ensures consistent processing while preserving the original state of the external data.

<figure><img src="/files/pC9dlFEJ4JGXQlC98x17" alt="" width="563"><figcaption></figcaption></figure>

#### 💠 **Components**

Ellipsis Drive consists of 10 containerised components, that are each launched on a (virtual) server running linux Ubuntu 16 or higher. Each component runs in its own docker (virtual) environment.&#x20;

<details>

<summary>List of components  <span data-gb-custom-inline data-tag="emoji" data-code="1f448">👈</span></summary>

1️⃣ **Container with source code:** to launch and run the API. (pool)

2️⃣ **Cache database:** A container with a database that caches relevant information to ensure scalability with a lot of usage (across geographical regions). This component is not required and can be skipped if the system is running on a single geographical location and the expected load is modest. (pool)

3️⃣ **Central metadata database:** A container with the central database with metadata and some logic to communicate with cache databases. (unique)

4️⃣ **Temporary file storage:** Container functioning to receive up- and downloads before passing them on to their permanent location. (unique)

5️⃣ **Active vector data storage:** Container with log(n) efficient, scalable and flexible vector reading capabilities (pool)

6️⃣ **Active raster data storage:** Container with scalable and flexible raster storage capabilities. (pool)

7️⃣ **Background processes:** This container contains some logic that runs in low frequency on the background. (pool)

8️⃣ **Main cluster node:** This container contains logic that distributes tasks over the cluster (unique)

9️⃣ **Raster activation node:** This container is assigned tasks by the main cluster nodes and activates raster layers on request. (pool)

🔟 **Vector activation node:** This container is assigned tasks by the main cluster nodes and activates vector layers on request. (pool)

* **S3 storage or file server:** This container does not host any ED specific logic and can be any system of storage that a client wishes to have their ED running on. (Pool)
* The ***ED UI/app*** can be hosted on any location of convenience. Either on the API, or if preferred on some other location of your choosing.

</details>

***

#### 🔐 Security configuration

Ellipsis Drive supports configurable security policies to match enterprise environments.

<details>

<summary> <strong>List of things that can be configured</strong>  <span data-gb-custom-inline data-tag="emoji" data-code="1f448">👈</span></summary>

* Two-factor authentication requirements
* Access control for public and link sharing
* Direct access to passive storage (*restricted or allowed*)
* Network restrictions (*internet or intranet only*)
* Single sign-on integration
* User registration policies (*including SSO-only environments*)
* Access token creation and expiry policies

</details>

***

#### 📶 Scaling and distribution

Private Instances are designed for distributed, cloud-native architectures.

* Services can be distributed across regions
* Core components can scale horizontally
* Kubernetes is supported for orchestration
* Caching layers can be deployed independently of storage systems

***

#### ⚙️ Infrastructure requirements

Running a Private Instance requires both system-level infrastructure and operational configuration within your cloud environment.

Ellipsis Drive manages the platform control layer, while your organization remains responsible for the underlying infrastructure and operations.

<details>

<summary>List of requirements and recommendations  <span data-gb-custom-inline data-tag="emoji" data-code="1f448">👈</span></summary>

* Each component requires a Linux-based environment (Ubuntu 18 or higher recommended)
* Minimum hardware per component: 16GB RAM, 32GB storage, and 8 CPU cores
* Components can run on shared infrastructure, but separation is recommended for optimal performance
* A load balancer is required when running multiple API instances
* The central database and temporary file storage must be hosted on the same physical location (in geographic proximity).
* Object storage can be mounted to Ellipsis Drive as synced, read-only folders. These can be viewed and managed alongside native Ellipsis Drive content.

</details>

#### 🧩 Customer responsibilities

You are responsible for configuring and managing the underlying cloud infrastructure where Ellipsis Drive is deployed.

This includes infrastructure-level services and operational settings provided by your cloud environment.

<details>

<summary>List of responsibilities  <span data-gb-custom-inline data-tag="emoji" data-code="1f448">👈</span></summary>

* **Backups**\
  You are responsible for backing up your passive storage.\
  Active raster and vector layers can be reconstructed from passive storage, making this the critical backup layer.
* **Cloud armor**\
  Protection against threats such as DDoS attacks should be configured using your cloud provider’s security services.
* **Load balancing (multi-region or scaled deployments)**\
  Required when distributing workloads across regions or scaling API instances.
* **Auto scaling**\
  Ellipsis Drive can use available resources, but does not provision infrastructure automatically.\
  Dynamic scaling must be configured within your cloud environment.

</details>

***

#### 🚀 Deployment

A dedicated Ellipsis Drive expert supports the deployment process as part of the license.

Deployment consists of:

* Deploying Ellipsis Drive components in your environment
* Connecting your storage system
* Configuring system settings
* Initializing services

Core components such as the central database and storage layer must be deployed first, as they are prerequisites for dependent services.&#x20;

Ellipsis Drive support can only access your infrastructure if your organization explicitly grants permissions. Limited access is recommended to ensure efficient support and troubleshooting.


---

# 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.ellipsis-drive.com/installation/overview.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.
