# Overview

In many scenarios, organizations will need to deploy the whole CARTO platform in their own infrastructure. For example:

* When access to their data warehouse is very restrictive.
* When they are not able to configure the credentials to connect with their data warehouse in the CARTO Cloud service.
* When their data warehouse is within a virtual private cloud (VPC) or behind a virtual private network (VPN)

In order to cover these and other situations, CARTO has made available the option of a **self-hosted deployment**. This is for example a common option for businesses in the healthcare, telco, insurance, and finance industries to remain compliant to their strict security and network policies.

CARTO Self-hosted can be deployed locally and on several cloud infrastructure providers such as GCP, AWS or Azure. See the [deployment overview](https://docs.carto.com/carto-self-hosted/deployment-guides) for a full list of options and installation instructions.

CARTO Self-hosted can run on a variety of platforms using a set of Docker images. The available deployment methods vary in complexity and scalability, so you can choose between a **Single VM deployment**, an **Orchestrated container deployment**, or an **Advanced Orchestrated container deployment**, based on your requirements and use case. There is no better or preferred method, it depends on your needs.

### Managing Kubernetes: Kots and Helm

[**KOTS**](https://kots.io/) (Kubernetes Off-The-Shelf) and [**Helm**](https://helm.sh/) are both tools for managing Kubernetes deployments, but they serve different purposes depending on ease of use and customization requirements:

* **KOTS** focuses on simplifying the deployment of pre-packaged Kubernetes applications, particularly for self-hosted environments. It includes features like built-in admin consoles, automated updates, and configuration management aimed at non-expert Kubernetes users.\
  \
  KOTS simplifies deploying CARTO Self-hosted by providing an **Admin Console** with key features such as:
  * **Updates** can be applied with a single click, streamlining maintenance.
  * Configuration changes are managed through a **user-friendly UI** with built-in versioning, ensuring easy tracking and rollbacks.
  * **Support bundles** can be generated instantly, simplifying troubleshooting.
  * Additionally, **license** synchronization is automated, reducing manual overhead and ensuring compliance effortlessly.

<figure><img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-ac535209cf265dc0cf358d29f69f4a33b382ca5f%2FScreenshot%202025-01-28%20at%2012.07.05%E2%80%AFPM.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* **Helm** is a package manager for Kubernetes, allowing users to define, install, and upgrade applications using charts—pre-configured Kubernetes resources. It excels at templating and managing app lifecycles in a declarative manner.\
  Helm provides full control over advanced customizations of the CARTO Self-hosted deployment, allowing users to tailor deployments beyond the options available in the KOTS UI, making it ideal for complex, highly specific configurations.

As it has been mentioned before in this document, CARTO Self-hosted is distributed in different ways depending on customer requirements. Continue reading for more details about each deployment type.

### **Single VM deployment (Kots)**

CARTO is deployed in a single VM using an embedded cluster and Kots. This deployment is the easiest and fastest.

{% hint style="success" %}
Follow the [**Guides (Kots)**](https://docs.carto.com/carto-self-hosted/guides/guides) and [**Maintenance (Kots)**](https://docs.carto.com/carto-self-hosted/maintenance/maintenance) documentation pages for this type of deployment.\
Take a look at the [**Quickstart**](https://docs.carto.com/carto-self-hosted/deployment-guides/single-vm-deployment) page for an installation guide using this method.
{% endhint %}

This method might be appropriate if you and your team:

* Are currently evaluating CARTO or deploying CARTO for the first time.
* Have less experience with Kubernetes or DevOps concepts.
* Need a lightweight, low-cost, and low-maintenance deployment method.
* Would like to deploy CARTO on a small-scale or single-server environment.

### **Orchestrated container deployment with Kubernetes (Kots)**

CARTO can be deployed in an orchestrated environment using [Kubernetes](https://kubernetes.io/). This method uses **Kots** to manage the configuration and maintenance of the deployment.

{% hint style="success" %}
Follow the [**Guides (Kots)**](https://docs.carto.com/carto-self-hosted/guides/guides) and [**Maintenance (Kots)**](https://docs.carto.com/carto-self-hosted/maintenance/maintenance) documentation pages for this type of deployment.

Take a look at the [**Quickstart**](https://docs.carto.com/carto-self-hosted/deployment-guides/kubernetes) page for an installation guide using this method.
{% endhint %}

This method might be appropriate if you and your team:

* Already use Kubernetes to deploy other applications.
* Have experience with Docker or DevOps concepts.
* Require scalability, high availability, and resilience.
* Prefer to use a UI for most configuration and maintenance tasks.

We support deployments with the following Kubernetes vendors:

* Google Kubernetes Engine (GKE)
* Amazon Elastic Kubernetes Service (EKS)
* Microsoft Azure Kubernetes Service (AKS)
* Red Hat OpenShift
* IBM Cloud Kubernetes Service

{% hint style="info" %}
If your Kubernetes vendor is not listed, please reach out to our support team for assistance: <support@carto.com>
{% endhint %}

### **Advanced Orchestrated container deployment with Kubernetes (Helm)**

CARTO can be deployed in an orchestrated environment using [Kubernetes](https://kubernetes.io/). This method uses a **Helm** chart to manage the configuration and maintenance of the deployment.

{% hint style="success" %}
Follow the [**Guides (Helm)**](https://docs.carto.com/carto-self-hosted/guides/guides-helm) and [**Maintenance (Helm)**](https://docs.carto.com/carto-self-hosted/maintenance/maintenance-helm) documentation pages for this type of deployment.

Take a look at the [**Quickstart**](https://docs.carto.com/carto-self-hosted/deployment-guides/orchestrated-container-deployment) page for an installation guide using this method.
{% endhint %}

This method might be appropriate if you and your team:

* Already use Kubernetes to deploy other applications.
* Have experience with Docker or DevOps concepts.
* Require scalability, high availability, and resilience.
* Are familiar with Helm charts and can fully handle an installation process from a terminal.

We support deployments with the following Kubernetes vendors:

* Google Kubernetes Engine (GKE)
* Amazon Elastic Kubernetes Service (EKS)
* Microsoft Azure Kubernetes Service (AKS)
* Red Hat OpenShift
* IBM Cloud Kubernetes Service

{% hint style="info" %}
If your Kubernetes vendor is not listed, please reach out to our support team for assistance: <support@carto.com>
{% endhint %}

### **Installation options: Self-Service and Assisted installations**

CARTO Self-hosted offers flexibility in the installation process to accommodate a range of customer preferences and infrastructure complexities. For customers with technical expertise and a straightforward setup, we offer a **Self-Service** **installation** option, enabling you to independently install and configure the product using our comprehensive installation guides.

However, we understand some organizations may have intricate setups such as Virtual Private Cloud (VPC), VPN, restricted network access, HTTPS proxy, or other specialized requirements. In such cases, we offer **Assisted installations**, where our expert team collaborates closely with you to ensure a seamless and tailored deployment. Our goal is to provide a solution that fits your specific needs, regardless of the level of installation assistance required.

If you require an **Assisted installation,** please [book time with us](mailto:support@carto.com).

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Architecture</strong></td><td>Learn more about the different possible architectures for deploying CARTO Self-hosted.</td><td></td><td><a href="key-concepts/architecture">architecture</a></td></tr><tr><td><strong>Deployment requirements</strong></td><td>Gather more information about the requirements for your deployment.</td><td></td><td><a href="key-concepts/deployment-requirements">deployment-requirements</a></td></tr><tr><td><strong>Quickstarts</strong></td><td>Deploy CARTO Self-Hosted in GCP, AWS, Azure.</td><td></td><td><a href="deployment-guides">deployment-guides</a></td></tr><tr><td><strong>Guides</strong></td><td>Detailed guides to configure different components of a Self-hosted deployment.</td><td></td><td><a href="guides/guides">guides</a></td></tr><tr><td><strong>Maintenance</strong></td><td>Manage updates, backups and details on how to get support for your Self-hosted deployment.</td><td></td><td><a href="maintenance/maintenance">maintenance</a></td></tr><tr><td><strong>Release Notes</strong></td><td>Relevant changes that are introduced in each specific CARTO Self-hosted release version.</td><td></td><td><a href="release-notes">release-notes</a></td></tr></tbody></table>
