Advanced customizations

This documentation is for the CARTO Self-Hosted Legacy Version. Use only if you've installed this specific version. Explore our latest documentation for updated features.

Custom Analytics Toolbox location

The default location of the Analytics Toolbox can be customized for all connections in your CARTO Self-Hosted installation. If you edit this value, each new connection will have the AT location configured in the specified location:

Update your customer.env file:

AT_LOCATION_BIGQUERY='carto-un.carto'
AT_LOCATION_SNOWFLAKE='CARTO.CARTO'
AT_LOCATION_REDSHIFT='carto'
AT_LOCATION_POSTGRES='carto'

Allow embedding CARTO into an iframe

CARTO Self-Hosted is prepared to be allowed into an iframe when needed. This way, custom applications using CARTO can work without any issue from an iframe. In order to allow your application using the platform through an iframe, you'll have to configure the allowed domains that can embed CARTO:

Update your customer.env file:

IFRAME_ALLOWED_DOMAINS="https://mydomain1.com https://mydomain2.com:8080"

Enabling/Disabling TrackJS

TrackJS is a useful tool as it provides valuable insights into the performance and errors occurring within the CARTO platform.

TrackJS is enabled by default in the frontend components, but you can disable it with these variables in your customer.env file:

REACT_APP_ACCOUNTS_WWW_ENABLE_TRACKJS=false
REACT_APP_WORKSPACE_WWW_ENABLE_TRACKJS=false

Customizable values for NGINX router

The CARTO Self-Hosted deployment exposes the 443 port through a component called router, which is running a NGINX service under the hood. The following customization options are available for this service:

NGINX_CLIENT_MAX_BODY_SIZE='10M'
NGINX_GZIP_MIN_LENGTH='1100'
NGINX_GZIP_BUFFERS='16 8k'
NGINX_PROXY_BUFFERS='16 8k'
NGINX_PROXY_BUFFER_SIZE='8k'
NGINX_PROXY_BUSY_BUFFERS_SIZE='8k'

External Data warehouse tuning

CARTO Self-Hosted connects to your data warehouse to perform different operations with your data. When connecting it with Postgres or Redshift, it's important to understand how the connection pool works.

Each node will have a connection pool controlled by the environment variables MAPS_API_V3_POSTGRES_POOL_SIZE and MAPS_API_V3_REDSHIFT_POOL_SIZE. The pool is per connection created from CARTO Self Hosted. If each user creates a different connection, each one will have its own pool. The maximum connections can be calculated with the following formula:

max_connections = pool_size * number_connections * number_nodes;

When a request is sent to an external data warehouse, we're applying some limits on the amount of time that a query can take to finish. If you'd like to customize the timeout applied to the queries executed against your data warehouse, you'll have to edit the following environment variables:

MAPS_API_V3_DYNAMIC_TILES_QUERY_TIMEOUT_POSTGRES_MS=20000
MAPS_API_V3_DYNAMIC_TILES_QUERY_TIMEOUT_REDSHIFT_MS=20000
MAPS_API_V3_DYNAMIC_TILES_QUERY_TIMEOUT_SNOWFLAKE_MS=20000
MAPS_API_V3_DYNAMIC_TILES_QUERY_TIMEOUT_BIGQUERY_MS=20000
MAPS_API_V3_DYNAMIC_TILES_QUERY_TIMEOUT_DATABRICKS_MS=20000

Their default value is set to 20 seconds. Please take into account that the updated value should be specified in milliseconds.

Last updated