CARTO can be installed on a local server, or set of servers, either directly or using our commercial installer.

Installing CARTO On-Premises Builder

Single Host Installation

The CARTO installer artifact can be used to setup CARTO in a fresh, installed Red Hat server or to upgrade from a previous compatible running version.

1) Unpack the tar.gz file of the Builder installer

1
tar xfz carto-builder-<version>-rhel-6-x86_64.tar.gz

Where version is the version of the file provided.

Before running the installer, you can change some initial configuration parameters. For more information, view Pre configuration.

2) Run the installer, with sudo (or as root):

1
2
cd carto-builder-<version>-rhel-6-x86_64
sudo ./carto-setup.sh builder

Pre-Configuration

CARTO installer has some default parameters that will help run all of the components correctly. However, it is recommended to review these parameters and change them before running the installer. Some of the initial configurations cannot be modified once the product is installed.

Monit is a service supervision tool that permanently watches CARTO Builder services, making sure that they are always up and running. It is installed by default, and you can manage this installation with the CARTO_MONIT config key.

The following is the default config for BUILDER (see Configuration options for a complete reference):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
CARTO_VERSION="2.0.0"
CARTO_CLIENT_BUILD="carto"
CARTO_USER="carto"
CARTO_PASSWORD="location"
CARTO_EMAIL="carto@example.com"
CARTO_ORG="organization"
CARTO_DOMAIN="carto.lan"

# NOTE: Disk quota is in megabytes
CARTO_DISK_QUOTA="1048576"
CARTO_ORG_SEATS="100"
CARTO_ORG_VIEWER_SEATS="1000"
# NOTE: File size is in bytes
CARTO_MAX_IMPORT_FILE_SIZE="1057286400"
CARTO_MAX_IMPORT_TABLE_ROW_COUNT="1000000"

# We will define data and snapshot paths from these two
CARTO_DATA_ROOT_PATH="/data"
CARTO_SNAPSHOT_ROOT_PATH="/data"
# This directory will contain the files shared between builder and resque
CARTO_SHARED_DIR_PATH="/data/shared"
CARTO_TMP_DIR_PATH="/data/tmp"

CARTO_LOG_PATH="/data/log"
CARTO_BACKUP_PATH="/backup"


#=====================================
## Builder
#=====================================
# Allowed IP Configuration (CARTO_XXXX_ADDRESS):        | "127.0.0.1" | "192.168.1.64" | "sql-api.carto.com" |
# Allowed BIND IP Configuration (CARTO_XXXX_BIND): | "127.0.0.1" | "192.168.1.64" | "0.0.0.0"           |
# NOTE: Make sure you configure properly both ADDRESS and BIND vars to have a consistent configuration.

# [monit]
CARTO_MONIT=true

# [redis]
CARTO_REDIS_ADDRESS="127.0.0.1"
CARTO_REDIS_BIND="127.0.0.1"
CARTO_REDIS_PORT="6379"
# [builder postgresql]
CARTO_BUILDER_POSTGRES_ADDRESS="127.0.0.1"
CARTO_BUILDER_POSTGRES_BIND="127.0.0.1"
CARTO_BUILDER_POSTGRES_PORT="5432"
# [nginx]
CARTO_NGINX_ADDRESS="127.0.0.1"
CARTO_NGINX_BIND="0.0.0.0"
CARTO_NGINX_HTTP_PORT="80"
CARTO_NGINX_HTTPS_PORT="443"
# [sql-api]
CARTO_SQL_API_ADDRESS="127.0.0.1"
CARTO_SQL_API_BIND="127.0.0.1"
CARTO_SQL_API_PORT="8080"
# [varnish]
CARTO_VARNISH_ADDRESS="127.0.0.1"
CARTO_VARNISH_BIND="127.0.0.1"
CARTO_VARNISH_PORT="6081"
CARTO_VARNISH_ADMIN_PORT="6082"
# [maps-api]
CARTO_MAPS_API_ADDRESS="127.0.0.1"
CARTO_MAPS_API_BIND="127.0.0.1"
CARTO_MAPS_API_PORT="8181"
# [builder]
CARTO_UNICORN_ADDRESS="127.0.0.1"
CARTO_UNICORN_BIND="127.0.0.1"
CARTO_UNICORN_PORT="8888"
# [builder - resque]
# [mailer]
MAIL_FROM=""
MAIL_ADDRESS=""
MAIL_PORT=""
MAIL_USERNAME=""
MAIL_USERNAME_PASSWORD=""
MAIL_AUTHENTICATION=""
MAIL_ENABLE_STARTTLS=false

# [builder - geocoder search bar]
CARTO_GEOCODER_SEARCH_BAR_PROVIDER=""
CARTO_GEOCODER_SEARCH_BAR_MAPBOX_API_KEY=""
CARTO_GEOCODER_SEARCH_BAR_TOMTOM_API_KEY=""

# Connectors
CARTO_ARCGIS_CONNECTOR_ENABLED=false

#=====================================
## Dataservices
#=====================================
# Allowed IP Configuration (CARTO_XXXX_ADDRESS):        | "127.0.0.1" | "192.168.1.64" | "sql-api.carto.com" |

# CARTO_DATASERVICES_ADDRESS="127.0.0.1"
CARTO_DATASERVICES_PORT="5433"
CARTO_DATASERVICES_USER="geocoder_api" ## postgres user [ dataservices client -> dataservices server]
CARTO_DATASERVICES_DB="db_dataservices"

# Builder analysis
CARTO_DS_ANALYSIS_GEOCODER=false
CARTO_DS_ANALYSIS_HIRES=false
CARTO_DS_ANALYSIS_ISOLINES=false
CARTO_DS_ANALYSIS_ROUTING=false
CARTO_DS_ANALYSIS_DOBSERVATORY=false

# Quotas
CARTO_DS_GEOCODER_QUOTA=400000
CARTO_DS_ROUTING_QUOTA=20000
CARTO_DS_ISOLINES_QUOTA=20000
CARTO_DS_DO_SNAPSHOT_QUOTA=999999999
CARTO_DS_DO_GENERAL_QUOTA=999999999
Note
The PostgreSQL server will be opened by default if PostgreSQL is not binding to 127.0.0.1 (CARTO\_BUILDER\_POSTGRES\_ADDRESS); allowing connections from any host. This is a common scenario in a distributed installation. Ensure that your database is behind a FW that blocks undesirable access.

Multi Host Installation

Warning
Multi host installation is still under heavy development and should not be considered production ready. Some common capabilities, such as upgrades or backups, are not yet finalized and will require some system administration skills and manual interaction. You are welcome to test it in a safe development environment and send us feedback.

The CARTO installer artifact can be used to setup CARTO in a fresh, installed Red Hat server or to upgrade from a previous compatible running version.

1) Unpack the tar.gz file of the builder installer

1
tar xfz carto-builder-<version>-rhel-6-x86_64.tar.gz

Where {version} is the version of the file provided.

Before running the installer, you can change some initial configuration parameters. For more information, view Pre configuration.

2) Run the installer, with sudo (or as root):

1
2
cd carto-builder-<version>-rhel-6-x86_64
sudo ./carto-setup.sh builder <server_role>
Note
Current available roles are: redis, postgresql, sql-api, windshaft, builder, resque, varnish and nginx

Pre-Configuration

CARTO installer has some default parameters that will help run all of the components correctly. However, it is recommended to review these parameters and change them before running the installer. Some of the initial configurations cannot be modified once the product is installed.

Note
It is best practice to use the same configuration file across the multiple role hosts.

This is an example of a multiple host configuration file:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Please use X.Y.Z version format
CARTO_VERSION="2.0.0"
CARTO_USER="carto"
CARTO_PASSWORD="location"
CARTO_EMAIL="carto@example.com"
CARTO_ORG="organization"
CARTO_DOMAIN="carto.lan"
# We will define data and snapshot paths from these two
CARTO_DATA_ROOT_PATH="/data"
CARTO_SNAPSHOT_ROOT_PATH="/data"
# This directory will contain the files shared between builder and resque
CARTO_SHARED_DIR_PATH="/data/shared"
CARTO_TMP_DIR_PATH="/data/tmp"

CARTO_LOG_PATH="/data/log"
CARTO_BACKUP_PATH="/backup"

#=====================================
## Builder
#=====================================
# Allowed IP Configuration (CARTO_XXXX_ADDRESS):        | "127.0.0.1" | "192.168.1.64" | "sql-api.carto.com" |
# Allowed BIND IP Configuration (CARTO_XXXX_BIND): | "127.0.0.1" | "192.168.1.64" | "0.0.0.0"           |

# [redis]
CARTO_REDIS_ADDRESS="redis.carto.local"
CARTO_REDIS_BIND="0.0.0.0"
CARTO_REDIS_PORT="6379"
# [builder postgresql]
CARTO_BUILDER_POSTGRES_ADDRESS="postgres.carto.local"
CARTO_BUILDER_POSTGRES_BIND="0.0.0.0"
CARTO_BUILDER_POSTGRES_PORT="5432"
# [nginx]
CARTO_NGINX_ADDRESS="nginx.carto.local"
CARTO_NGINX_BIND="0.0.0.0"
CARTO_NGINX_HTTP_PORT="80"
CARTO_NGINX_HTTPS_PORT="443"
# [sql-api]
CARTO_SQL_API_ADDRESS="sql.carto.local"
CARTO_SQL_API_BIND="0.0.0.0"
CARTO_SQL_API_PORT="8080"
# [varnish]
CARTO_VARNISH_ADDRESS="varnish.carto.local"
CARTO_VARNISH_BIND="0.0.0.0"
CARTO_VARNISH_PORT="6081"
CARTO_VARNISH_ADMIN_PORT="6082"
# [maps-api]
CARTO_MAPS_API_ADDRESS="windshaft.carto.local"
CARTO_MAPS_API_BIND="0.0.0.0"
CARTO_MAPS_API_PORT="8181"
# [unicorn]
CARTO_UNICORN_ADDRESS="builder.carto.local"
CARTO_UNICORN_BIND="0.0.0.0"
CARTO_UNICORN_PORT="8888"
# [mailer]
MAIL_FROM=""
MAIL_ADDRESS=""
MAIL_PORT=""
MAIL_USERNAME=""
MAIL_USERNAME_PASSWORD=""
MAIL_AUTHENTICATION=""
MAIL_ENABLE_STARTTLS=false

If the current deployment layout has both resque and builder roles installed in different hosts, some additional configuration keys should be provided; as there is a need of using an external shared data provider, such as Amazon S3, or a network shared folder.

Regarding the Amazon S3 configuration keys below, CARTO_S3_ACCESS_KEY_ID, CARTO_S3_SECRET_ACCESS_KEY, CARTO_S3_REGION and CARTO_S3_BUCKET_NAME are mandatory, whereas CARTO_S3_ENDPOINT is optional.

1
2
3
4
5
CARTO_S3_ACCESS_KEY_ID="XXXXXXXXXXXXXXXXXXX"
CARTO_S3_SECRET_ACCESS_KEY="YYYYYYYYYYYYYYYYYYYY"
CARTO_S3_REGION="RRRRRRRRRRRRRRRRRRRR"
CARTO_S3_BUCKET_NAME="my-bucket-name"
CARTO_S3_ENDPOINT="my-endpoint.dream.io"

If you are using a network shared folder, the configuration key below is mandatory, where CARTO_SHARED_DIR should be reachable/mounted by both role hosts.

1
CARTO_SHARED_DIR=/data/shared

Every role host should be able to properly resolve CARTO_DOMAIN value. Ensure that your hosts/instances have the suitable DNS configuration in place. Following the configuration example above, carto.lan should be resolved by any host in the current deployment.

Note
The PostgreSQL server will be opened by default if PostgreSQL is not binding to 127.0.0.1 (CARTO\_BUILDER\_POSTGRES\_ADDRESS); allowing connections from any host. This is a common scenario in a distributed installation. Ensure that your database is behind a FW that blocks undesirable access. In general, every service binding to 0.0.0.0 should be protected accordingly (using firewall rules), if they are reachable from external networks.

Install Roles in Different Instances

CARTO Builder can also be installed in different instances, separated per role. The idea behind this is to be able to run just one service at a time, in every instance, instead of everything together. This allows you to separately maintain and upgrade different roles and enables you to scale certain parts of the platform.

There are currently eight roles to install: redis, postgresql, sql-api, windshaft, builder, resque, varnish and nginx.

Each role must be installed in a specific order. Each role includes the following dependencies:

  • Redis. It does not depend on any other role.
  • PostgreSQL. It does not depend on any other role.
  • SQL API. It depends on redis and postgresql. During the installation of SQL API, the IP’s of redis and postgresql must be filled in the configuration file.
  • Windshaft (Maps API). It depends on redis, postgresql and sql-api. During the installation of Maps API, the IP’s of redis, postgresql and sql-api instances must be filled in the configuration file.
  • Varnish. It does not depend on any other role.
  • BUILDER. It depends on redis, postgresql, varnish and windshaft. During the installation of BUILDER. the IP’s of redis, postgresql, varnish and windshaft instances must be filled in the configuration file.
  • Resque. It depends on builder, postgresql, varnish and windshaft. During the installation of resque, the IP’s of redis, postgresql, varnish and windshaft must be filled in the configuration file. Note that the configuration requirements for this role are the same as Builder. Although this role requires that Builder has been installed previously, it does not need to connect to the Builder instance. For this reason, the IP of the Builder instance is not really relevant for the installation of this role.
  • Nginx. It depends on builder, sql-api, varnish and windshaft. During the installation of Nginx, the IP’s of builder, sql-api, varnish and windshaft instances must be filled in the configuration file.
Note
Builder installation performs a metadata database initialization. This process involves creating the database that will be used by Builder, granting privileges, creating extensions in PostgreSQL and running some ruby rake tasks that will apply schema migrations, and insert some basic data. BUILDER installation process first connects to the database to see if the database already exists (by default it is named 'cartodb\_production'). If the database does not exist, it will proceed with the DB initialization process. However, if it exists it will not proceed and will complete the installation and startup of the Builder process. If you feel that your initial Builder installation failed in the middle for any reason, contact us to get some advice about how to reset the installation process.

Step by Step Installation Guide

This section includes all the required commands to install one role per host. It is also possible to install several roles on the same host by providing the role list to the installer.

As explained in the previous section, the order of installing roles matters.

  1. Install redis role host
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder redis

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup redis: ok
  1. Install postgresql role host
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder postgresql

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup postgresql: ok
  1. Install sql-api role host
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder sql-api

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup sql-api: ok
  1. Install windshaft role host:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder windshaft

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup windshaft: ok
  1. Install varnish role host:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder varnish

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup varnish: ok
  1. Install builder role host:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder builder

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup builder: ok
  1. Install resque role host:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder resque

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup resque: ok
  1. Install nginx role host:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo ./carto-setup.sh builder nginx

Welcome to CARTO On-Premises master installer.

The following account will be created to manage CARTO Builder:

 - Domain: carto.lan
 - Organization: organization
 - Admin: carto
 - Password: (not shown, it is available on ./carto-builder.config)

CARTO Builder will use the following paths:

 - Data: /data
 - Logs: /data/log

NOTE: edit ./carto-builder.config file if you want to change something.

Do you want to continue?' (Y/n): Y

Root data dir /data does not exist: do you want to create it?' (Y/n): Y

setup nginx: ok

In order to install more than one role per host:

1
sudo ./carto-setup.sh builder varnish,nginx

Installation configuration option keys reference

CARTO BUILDER is highly configurable on installation time. The different sections of the documentation mention many option keys that modify the behaviour of the product. The following table contains a reference of the keys that can be found in carto-builder.config setup file and whether they’re modifiable or not

It is important to note that in an upgrade, these variables will be ignored if they’re already set in global /etc/carto-builder.config

+—————————————————+————+———————————————————+ | Variable name | Modifiable | Description | +===================================================+============+=========================================================+ | CARTO_USER | Yes | User that will be created on installation time | +—————————————————+————+———————————————————+ | CARTO_PASSWORD | Yes | Password to authenticate CARTO_USER | +—————————————————+————+———————————————————+ | CARTO_EMAIL | Yes | email for CARTO_USER | +—————————————————+————+———————————————————+ | CARTO_ORG | Yes | Organization CARTO_USER will be owner | +—————————————————+————+———————————————————+ | CARTO_DOMAIN | Yes | Domain to reach BUILDER. It is important to set this | | | | correctly so that different roles can connect | +—————————————————+————+———————————————————+ | CARTO_DISK_QUOTA | Yes | User disk quota (in megabytes) | +—————————————————+————+———————————————————+ | CARTO_ORG_SEATS | Yes | Number of seats in CARTO_ORG | +—————————————————+————+———————————————————+ | CARTO_ORG_VIEWER_SEATS | Yes | Number of viewer seats in CARTO_ORG | +—————————————————+————+———————————————————+ | CARTO_MAX_IMPORT_FILE_SIZE | Yes | Maximum import file size (in bytes) | +—————————————————+————+———————————————————+ | CARTO_MAX_IMPORT_TABLE_ROW_COUNT | Yes | Maximum row number in an import | +—————————————————+————+———————————————————+ | CARTO_DATA_ROOT_PATH | Yes | Filesystem path where data and config will be stored | +—————————————————+————+———————————————————+ | CARTO_SNAPSHOT_ROOT_PATH | Yes | Filesystem path where upgrade snapshots will be stored | +—————————————————+————+———————————————————+ | CARTO_SHARED_DIR_PATH | Yes | Filesystem path where files shared between Builder and | | | | Resque will be placed: this is important in distributed | | | | installations | +—————————————————+————+———————————————————+ | CARTO_TMP_DIR_PATH | Yes | Filesystem path for temporal files, e.g. import | | | | transient files, exports, etc | +—————————————————+————+———————————————————+ | CARTO_LOG_PATH | Yes | Filesystem path for logs | +—————————————————+————+———————————————————+ | CARTO_BACKUP_PATH | Yes | Filesystem path for backups done with backup tool | +—————————————————+————+———————————————————+ | CARTO_MONIT | Yes | Sets if monit will be used as processes watchdog | +—————————————————+————+———————————————————+ | CARTO_REDIS_ADDRESS | Yes | Redis server address | +—————————————————+————+———————————————————+ | CARTO_REDIS_BIND | Yes | Redis process bind address | +—————————————————+————+———————————————————+ | CARTO_REDIS_PORT | Yes | Redis process bind port | +—————————————————+————+———————————————————+ | CARTO_BUILDER_POSTGRES_ADDRESS | Yes | Postgres server address | +—————————————————+————+———————————————————+ | CARTO_BUILDER_POSTGRES_BIND | Yes | Postgres process bind address | +—————————————————+————+———————————————————+ | CARTO_BUILDER_POSTGRES_PORT | Yes | Postgres process bind address | +—————————————————+————+———————————————————+ | CARTO_NGINX_ADDRESS | Yes | Nginx server address | +—————————————————+————+———————————————————+ | CARTO_NGINX_BIND | Yes | Nginx process bind address | +—————————————————+————+———————————————————+ | CARTO_NGINX_HTTP_PORT | Yes | Nginx process bind HTTP port | +—————————————————+————+———————————————————+ | CARTO_NGINX_HTTPS_PORT | Yes | Nginx process bind HTTPS port | +—————————————————+————+———————————————————+ | CARTO_SQL_API_ADDRESS | Yes | SQL API server address | +—————————————————+————+———————————————————+ | CARTO_SQL_API_BIND | Yes | SQL API process bind address | +—————————————————+————+———————————————————+ | CARTO_SQL_API_PORT | Yes | SQL API process bind port | +—————————————————+————+———————————————————+ | CARTO_SQL_API_ENTITIES_ACCESS | Yes | SQL API entities access control | +—————————————————+————+———————————————————+ | CARTO_VARNISH_ADDRESS | Yes | Varnish server address | +—————————————————+————+———————————————————+ | CARTO_VARNISH_BIND | Yes | Varnish process bind address | +—————————————————+————+———————————————————+ | CARTO_VARNISH_PORT | Yes | Varnish process bind address | +—————————————————+————+———————————————————+ | CARTO_VARNISH_ADMIN_PORT | Yes | Varnish admin port | +—————————————————+————+———————————————————+ | CARTO_MAPS_API_ADDRESS | Yes | Maps API server address | +—————————————————+————+———————————————————+ | CARTO_MAPS_API_BIND | Yes | Maps API process bind address | +—————————————————+————+———————————————————+ | CARTO_MAPS_API_PORT | Yes | Maps API process bind port | +—————————————————+————+———————————————————+ | CARTO_UNICORN_ADDRESS | Yes | Builder Unicorn server address | +—————————————————+————+———————————————————+ | CARTO_UNICORN_BIND | Yes | Builder Unicorn bind address | +—————————————————+————+———————————————————+ | CARTO_UNICORN_PORT | Yes | Builder Unicorn bind port | +—————————————————+————+———————————————————+ | CARTO_ARCGIS_CONNECTOR_ENABLED | Yes | Shows if ArcGIS connector will be enabled and displayed | | | | in Builder | +—————————————————+————+———————————————————+ | CARTO_DATASERVICES_ADDRESS | Yes | LDS server address | +—————————————————+————+———————————————————+ | CARTO_DATASERVICES_PORT | Yes | LDS server port | +—————————————————+————+———————————————————+ | CARTO_DATASERVICES_USER | Yes | LDS server postgres user | +—————————————————+————+———————————————————+ | CARTO_DATASERVICES_DB | Yes | LDS server database | +—————————————————+————+———————————————————+ | CARTO_DS_ANALYSIS_GEOCODER | Yes | Determines if internal analysis will be shown or not | +—————————————————+————+———————————————————+ | CARTO_DS_ANALYSIS_HIRES | Yes | Determines if high resolution geocoder analysis will be | | | | shown or not (will need external services for this) | +—————————————————+————+———————————————————+ | CARTO_DS_ANALYSIS_ISOLINES | Yes | Determines if isolines analysis will be shown or not | | | | (will need external services for this in LDS | | | | server) | +—————————————————+————+———————————————————+ | CARTO_DS_ANALYSIS_ROUTING | Yes | Determines if routing analysis will be shown or not | | | | (will need external services for this in LDS | | | | server) | +—————————————————+————+———————————————————+ | CARTO_DS_ANALYSIS_DOBSERVATORY | Yes | Determines if Data Observatory analysis will be shown | | | | or not (will need external services for this in LDS | | | | server) | +—————————————————+————+———————————————————+ +—————————————————+————+———————————————————+ | CARTO_DS_GEOCODER_QUOTA | Yes | LDS Geocoder quota (requests per billing period) | +—————————————————+————+———————————————————+ | CARTO_DS_ROUTING_QUOTA | Yes | LDS Routing quota (requests per billing period) | +—————————————————+————+———————————————————+ | CARTO_DS_ISOLINES_QUOTA | Yes | LDS Routing quota (requests per billing period) | +—————————————————+————+———————————————————+ | CARTO_DS_DO_SNAPSHOT_QUOTA | Yes | LDS Data Observatory Qlik quota (requests per billing | | | | period) | +—————————————————+————+———————————————————+ | CARTO_DS_DO_GENERAL_QUOTA | Yes | LDS Data Observatory quota (requests per billing | | | | period) | +—————————————————+————+———————————————————+ | CARTO_VERSION | No | Version of BUILDER installed | +—————————————————+————+———————————————————+ | CARTO_CLIENT_BUILD | No | Determines the type of build | +—————————————————+————+———————————————————+ | CARTO_OAUTH_GOOGLE_CLIENT_ID | Yes | Google OAuth client id | +—————————————————+————+———————————————————+ | CARTO_OAUTH_GOOGLE_CLIENT_SECRET | Yes | Google OAuth client secret | +—————————————————+————+———————————————————+ | CARTO_OAUTH_GITHUB_CLIENT_ID | Yes | Github OAuth client id | +—————————————————+————+———————————————————+ | CARTO_OAUTH_GITHUB_CLIENT_SECRET | Yes | Github OAuth client secret | +—————————————————+————+———————————————————+ | MAIL_FROM | Yes | Email address specified as a sender address | +—————————————————+————+———————————————————+ | MAIL_ADDRESS | Yes | IP Address that the SMTP client connects to | +—————————————————+————+———————————————————+ | MAIL_PORT | Yes | TCP port that the SMTP client connects to | +—————————————————+————+———————————————————+ | MAIL_USERNAME | Yes | Username specified in the remote client AUTH command | +—————————————————+————+———————————————————+ | MAIL_USERNAME_PASSWORD | Yes | Password specified in the remote client AUTH command | +—————————————————+————+———————————————————+ | MAIL_AUTHENTICATION | Yes | Type of authentication | +—————————————————+————+———————————————————+ | MAIL_ENABLE_STARTTLS | Yes | Enable STARTTLS to request an encrypted session | +—————————————————+————+———————————————————+ | CARTO_PASSWORDS_RATE_LIMIT_MAX_BURST | Yes | Rate limits for failed login attempts: this value is | | | | the number of attempts allowed in a single burst. | | | | Default is 10 (attempts) | +—————————————————+————+———————————————————+ | CARTO_PASSWORDS_RATE_LIMIT_COUNT | Yes | Rate limits for failed login attempts: number of | | | | failed login attempts per minute before locking the | | | | account. Default is 10 (attempts) | +—————————————————+————+———————————————————+ | CARTO_PASSWORDS_RATE_LIMIT_PERIOD | Yes | Rate limits for failed login attempts: the period that | | | | must pass before a user gets back their entire | | | | CARTO_PASSWORDS_RATE_LIMIT_COUNT after having | | | | been locked out. Default is 60 (seconds) | +—————————————————+————+———————————————————+ | CARTO_HTTP_PROXY | Yes | Determines the http proxy to be used expressed as: | | | | http://proxy_ip:proxy_port | | | | | | | | | +—————————————————+————+———————————————————+ | CARTO_HTTPS_PROXY | Yes | Determines the http proxy to be used expressed as: | | | | https://proxy_ip:proxy_port | | | | | | | | | +—————————————————+————+———————————————————+ | CARTO_NO_PROXY | Yes | Comma separated list of IPs and URLs that won’t connect | | | | through the configured proxy expressed, for example: | | | | “localhost,127.0.0.1,0.0.0.0” | +—————————————————+————+———————————————————+ | CARTO_GEOCODER_SEARCH_BAR_PROVIDER | Yes | External provider to use for geocoder search bar. | | | | Possible values: mapbox, tomtom or empty | +—————————————————+————+———————————————————+ | CARTO_GEOCODER_SEARCH_BAR_MAPBOX_API_KEY | Yes | Api key for the geocoder search bar provider mapbox | +—————————————————+————+———————————————————+ | CARTO_GEOCODER_SEARCH_BAR_TOMTOM_API_KEY | Yes | Api key for the geocoder search bar provider tomtom | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_ENABLED | Yes | Enable or disable mail template customization. | | | | Possible values: true, false, default false | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_APP_NAME | Yes | The name of the app that will be displayed in emails | | | | WARNING: This value cannot contain blank spaces | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_APP_LINK | Yes | A link to the app or documentation about it. | | | | e.g. https://carto.com | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_HEADER_LOGO_URL | Yes | A public URL for the header image in the emails. | | | | (it’s resized to 82 pixels wide) | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_SUPPORT_LINK | Yes | A link to get support (it may be a mailto, or a URL). | | | | e.g. ‘mailto:support@carto.com’ | +—————————————————+————+———————————————————+ | MAIL_TEMPLATE_INCLUDE_CARTO_LINKS | Yes | False to avoid including references to CARTO docs | | | | Possible values: true, false, default false | +—————————————————+————+———————————————————+