The way to add/change the basemaps available in CartoDB is chaging the
config/app_config.yml. Basically you need to add a new entry called basemaps,
that entry can have different sections and each section one or more basemaps.

Also, it’s always necessary to have a default basemap among all the confifured
ones in the app_config.yml. The way to set a basemap as default a “default”
attribute needs to be added to the basemap. There can be several basemaps in the
config with the attribute default set, however, only the first one found in the
same order than in the app_config will be used as default.

Historically, CartoDB URLs were based on a username.carto.com/PATH schema.
When Multiuser accounts were introduced, an alternate schema
organizationname.carto.com/u/username/PATH was built alongside the “classic” one.
Both schemas introduce some problems for opensource and/or custom installs of the platform,
as they require DNS changes each time a new user or organization is added.

Subdomainless urls are the answer to this problems. Modifying some configuration settings,
any CartoDB installation can be setup to work with a new schema, carto.com/user/username/PATH.

The following sections details the steps to make it work and the limitations it has.

If you leave the dot at session_domain having subdomainless urls, you will be forced
to always have a subdomain. Any will do, but must be present. If you remove the dot it
will work as intended without any subdomain.

When subdomainless urls are used, organizations will be ignored from the urls. In fact,
typing whatever.carto.com/user/user1 and carto.com/user/user1 is the same. The platform
will replicate the sent subdomain fragment to avoid CORS errors but no existing organization
checks will be performed. You should be able to use them, assign quota to the organization users, etc.

This service uses the visualizations API to retrieve all the public datasets from a defined user and
serve them as importable datasets to all the users of the platform through the data library options.

All can be configured through the common_data settings section. If the base_url
option is set, this will be the base url the service is going to use to build the URL to retrieve datasets.
For example:

Use https://common-data.carto.com as the base url to retrieve all the public datasets from that user.

This is the default behaviour in CartoDB, but if you want to use your own system and user for this purpose you
have to define the username property pointing to the user that will provide the datasets in your own instance.
The URL in this case is going to be built using your instance base url. For example if your instance base url is
http://www.example.com and the config is:

common_data:protocol:'https'username:'common-data-user'format:'shp'

the system populates the data library with the public datasets from http://common-data-user.example.com...

The format option is used to define the format of the file generated when you are importing one datasets from
the data library. When you import a dataset it uses a stored URL to download that dataset as a file, in the format
defined in the config, and import as your own dataset.

Default installation keeps logs, configuration files and assets under the standard Rails folder structure: /log,
/config and /public at Rails root (your installation directory). Some installations might be interested in
moving those directories outside Rails root in order to separate code and data. You can accomplish that with symbolic
links. Nevertheless, there are three environment variables that you can use instead:

RAILS_LOG_BASE_PATH: for example, setting it to /var/carto will use that as a base folder for log files, which
will be stored at /var/carto/log. Defaults to Rails.root.

RAILS_CONFIG_BASE_PATH: for example, setting it to /etc/carto will make Rails open the application and database
configuration files at /etc/carto/conf/app_config.yml and /etc/carto/conf/database.yml. Defaults to Rails.root.

RAILS_PUBLIC_UPLOADS_PATH: sets assets base path, both static and dynamic. For example, setting
it to /var/carto/assets will upload files (markers, avatars and so on) to /var/carto/assets/uploads, but it also
makes Rails server to load public assets (CSSs, JS…) from there. Defaults to app_config[:importer]["uploads_path"] or Rails.root
if it’s not present (due to backwards compatibility). If you use this variable you’ll need to do one onf the following:

Use nginx to load the assets (recommended): making /public the nginx default root will make nginx use the proper
folders for assets, without requesting them to the Rails server: root/opt/carto/builder/embedded/cartodb/public;.