Deployment requirements

In order to run CARTO on your own infrastructure setup, the following requirements must be met at a minimum:

Before proceeding with the installation, it is recommended that the individual performing the setup is familiar with cloud environments, specifically GCP (Google Cloud Platform), AWS (Amazon Web Services), or Azure (Microsoft Azure). This prior experience ensures a smoother deployment process and a better understanding of the underlying infrastructure.

  1. Cloud Platform Proficiency: Basic proficiency in the chosen cloud platform is recommended. This includes the ability to navigate the respective console, manage instances or clusters, and configure networking settings.

  2. Account Authorization: Ensure that you have the necessary permissions and access rights within your cloud platform account. This typically involves appropriate role assignments.

  3. Resource Understanding: A grasp of fundamental concepts such as virtual machines, Kubernetes, storage, and networking within your chosen cloud environment will enhance your ability to deploy and manage resources effectively.

Having a solid understanding of cloud services will empower you to navigate the deployment process with confidence.

Hardware and Software requirements

The hardware and software requirements below must be met to ensure an optimal performance of the CARTO platform:

Single VM deployment

  • Ubuntu 22.04, Debian 11 or above

  • 60 GB disk

  • 8 CPUs (x86)

  • 32 GB memory

Orchestrated deployment (Kubernetes)

  • Kubernetes 1.12 or above

  • Helm 3.6.0 or above

  • At least 3 nodes with 3x vCPUs and 16 GB of memory

  • An isolated namespace in which CARTO resources could be deployed. In case you're deploying more than one CARTO instances, there should be a namespace per installation.

External database

CARTO requires a dedicated PostgreSQL database to manage its metadata. The metadata information stored in this database is the following:

  • Configuration of Maps: data sources, layers, tooltips, legends, etc.

  • Configuration of Workflows.

  • Configuration of Applications.

  • Connection credentials to other data warehouses like BigQuery, Snowflake, PostgreSQL, Redshift, or Databricks.

  • Other CARTO internal metadata

The CARTO metadata PostgreSQL database is only used to store CARTO metadata. This database is not the database to be used with CARTO to store your geospatial data.

This metadata database must be maintained (in terms of updates, backups, high availability, ...) by you. Our recommendation is to use the managed service provided by your cloud provider:

The current PostgreSQL recommended version is 14 or above.

Network ingress requirements

CARTO might need to be accessible to other people in your company (or the internet if you desire it) who needs using it. In order to do that, you need to configure:

  • A full domain/subdomain that will be pointing to the machine.

  • (Optional) A TLS certificate for the domain/subdomain. If no TLS certificate is provided, a self-signed certificate will be generated. The TLS certificate private key can't be protected with a passphrase.

  • Access to HTTPS port (443). HTTP port (80) is optional and is going to redirect to HTTPS.

A full domain is required. You cannot install CARTO in a domain path like

If you would like to use some advanced features of Analytics Toolbox like LDS or some Wokflows features like import/export, your domain should be publicly accessible from the internet

Network egress requirements

The CARTO Self-Hosted deployment requires access to some external services. Some of them are required for the software to work, and others depend on the cloud and data warehouse you will run and connect CARTO to. Finally, there is a set of optional services that you will need to open in case you will use those services with CARTO. For these services, HTTP/HTTPS domains must be “accepted”.

Required services:

  • Auth system at CARTO based on Auth0, a leading provider for authentication and authorization.

  • Used as a message broker between CARTO servers and the Self-Hosted to transfer information about the license and telemetry.

  • * Used to deliver new Self-Hosted releases.

Additional services required for Self-Hosted deployment:

  • Access to download the client package and the containers required to run CARTO Self-Hosted.

  • & This is a necessary step solely for downloading the essential containers needed to operate CARTO Self-Hosted.

Cloud/Data warehouse specific requirements:

Depending on the cloud you are deploying and the data warehouse you are using, you will also need to open certain services to connect your data.

  • Google Cloud

  • AWS

    • Required if you are going to use AWS S3 buckets.

  • Azure

  • Snowflake

    • * If you are going to use Snowflake.

  • Databricks

    • * If you are going to use Databricks.

LDS specific requirements:

These are the requirements for Location Data Services:

  • Used for geocoding and routing.

  • Used for isolines.

  • Used for isolines if Here is the configured provider.

Optional requirements:

  •,, These are used to activate/deactivate features on the software.

If you need further and more detailed information, please contact us.

External services required

Deploying CARTO Self-Hosted platform on cloud vendors like GCP, AWS, and Azure involves several external services and configurations. Below is a general guide to document the external services needed for deploying CARTO on these cloud platforms.

  • Compute Engine: virtual machines for hosting CARTO. Just required if you'd like to deploy the single vm deployment in GCP.

  • GKE: managed kubernetes service for hosting CARTO orchestrated container deployment. Just required if you'd like to deploy the orchestrated container deployment in GCP.

  • Cloud Storage: mandatory for storing data and configurations in GCP.

  • Cloud SQL: managed database service for PostgreSQL mandatory for storing the metadata database.

  • Cloud DNS: for managing domain names and DNS records.

License requirements

A CARTO installation package that contains your environment configuration and a license key is required during the installation process. If you don't have these, you should request them at

Last updated