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

On-premises Builder basics

Expected environment

As described in the builder_pre_installation section there are some system requirements that the instance must meet before installing Builder.

It’s important to note that although CARTO On-premises products are prepared to run inside a Linux system that meets the previous requirements, it has no knowledge of what there is outside that system. The On-premises technical administrator must be able to prepare the system to work in a specific way inside the network.

Certain network configurations that require backend or frontend applications to be integrated with custom external services or protocols like non-transparent proxies, external authentication services, etc.. may not be compatible with CARTO on-premises.

We focus on delivering applications and services that provide the biggest value for LI solutions but we don’t provide, by default, customized integration with clients services.

If you have doubts about how CARTO on-premises applications will work in your specific network topology, please don’t hesitate to contact us. Our technical experts will be willing to discuss with you different solutions and approaches.

Connectivity modes

As commented above CARTO Builder on-premises is prepared to work without crossing the boundaries of the instance where it is running. CARTO does not monitor, send or receive any type of information from the on-premise services installed. However, depending on the connectivity of the environment there may be some limitations on the service.

  • Offline backend. CARTO Builder on-premises does not require any type of internet connectivity nor to install the system or to run. There’s also no limitation on the features available on on-premise. Of course, it will be impossible for the users of that on-premise to import datasets from URLs that are not reachable by the instance where on-premises servers are running on
  • Offline backend and frontend. This offline mode means that the user of on-premise and specifically the web browser that will be sending requests to the on-premises server won’t be able to access remote resources that are loaded in the client side with javascript. An example of these resources is basemaps. By default, CARTO provides basemaps for both cloud and on-premises clients. When a new map is created it has a set of public basemaps available. These basemaps won’t be loaded in the user browser if there is no internet connection. However, it’s possible to visualize on the maps only the data. It’s also possible to add new basemaps URLs so the client can use basemaps that are reachable on the same private network.

Installation modes

CARTO Builder on-premises can run in two different modes:

  • One instance. All the components of the stack can be installed in the same instance. This mode is simple to install and to upgrade
  • Splitting services across different instances. The current CARTO on-premisers Builder product can be splited in 8 different services. Every service can be installed in a different instance. This mode is a little bit harder to install but it gives great flexibility to the IT administrator to perform almost no-dowtime deployments or maintenances. We are working on developing the guides for the IT administrators to be able to also scale horizontally some of the service layers in this installation mode.

Deliverable and basic installation

When we release a new version of CARTO on-premises we generate a simple to use command line installer. This installer together with an easy to read and to modify configuration file allows installing the entire stack or just one role in any instance just running one command.

Our installer runs some consistency checks before finishing in order to detect any possible error and not to leave an inconsistent installation. Once the installation has finished either the entire stack or the specific role that has been installed will be fully configured and ready to use.

The installation process is as easy as running these commands:

1
2
3
4
tar xfz carto-builder-<version>-rhel-7-x86_64.tar.gz
cd carto-builder-<version>-rhel-7-x86_64
sudo ./cartoctl init --license license1.lic
sudo ./cartoctl nodes install

or, in the case of multi host installation:

  1. Initialize the configuration database in a given node
1
2
3
tar xfz carto-builder-<version>-rhel-7-x86_64.tar.gz
cd carto-builder-<version>-rhel-7-x86_64
sudo ./cartoctl init --license license1.lic
  1. Edit ~/.carto/config.yml and define your node architecture by setting the node fqdns and the roles that must be installed in each node.
  2. In each node, copy the config.yml config database defined in step number (2) into ~/.carto/config.yml and perform the node installation. cartoctl will automatically detect the node fqdn and will then match it with ~/.carto/config.yml in order to install the suitable roles accordingly.
1
sudo ./cartoctl nodes install

The upgrade process is similar. Running the installer is enough to detect the current running system and upgrade it.

1
sudo ./cartoctl nodes upgrade