# Updates

{% hint style="danger" %}
**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.
{% endhint %}

Please be informed that our support services are exclusively provided for versions of our product that are less than one year old. It is crucial for the optimal performance, security, and functionality of our software that users maintain up-to-date installations.

We kindly request all users to ensure that their installations are running an updated version. By doing so, you not only ensure access to our support services but also benefit from the latest features, bug fixes, and security enhancements that come with each update.

## Download customer package

Once a new release is available, you will need to download the latest customer package.

Clone the CARTO Self-Hosted github repo:

```
git clone https://github.com/CartoDB/carto-selfhosted.git
cd carto-selfhosted
```

Checkout to the [latest stable release](https://github.com/CartoDB/carto-selfhosted/releases):

```
git checkout tags/2026.5.14
```

You should Install the following packages on your machine:`yq`, `jq` and `gcloud`.

Run the script passing the following arguments:

<table><thead><tr><th width="132.5" align="center">flag</th><th>description</th></tr></thead><tbody><tr><td align="center"><code>-d</code></td><td>Directory containing the existing customer package files.</td></tr><tr><td align="center"><code>-s</code></td><td>Carto selfhosted installation mode. Possible values for mode are <code>docker</code> (Single VM deployment) and <code>k8s</code>(Orchestrated container deployment)</td></tr></tbody></table>

<pre class="language-bash" data-full-width="false"><code class="lang-bash"><strong>./tools/carto-download-customer-package.sh -d /tmp/carto -s docker
</strong></code></pre>

Example output (using docker mode):

```bash
ℹ️ selfhosted mode: docker
✅ found: /tmp/carto/carto-values.yaml
✅ found: /tmp/carto/carto-secrets.yaml
✅ activating: service account credentials for: [serv-onp-xxx@carto-tnt-onp-xxx.iam.gserviceaccount.com]
Copying gs://carto-tnt-onp-xxx-client-storage/customer-package/carto-selfhosted-docker-customer-package-xxx-2023-6-16.zip...
/ [1 files][  2.6 KiB/  2.6 KiB]
Operation completed over 1 objects/2.6 KiB.
✅ downloading: carto-selfhosted-docker-customer-package-xxx-2023-6-16.zip

##############################################################
Current selfhosted version in [carto-values.yaml]: 2023.6.16
Latest selfhosted version downloaded: 2023-6-16
Downloaded file: carto-selfhosted-docker-customer-package-xxx-2023-6-16.zip
Downloaded from: gs://carto-tnt-onp-xxx-client-storage/customer-package/carto-selfhosted-docker-customer-package-xxx-2023-6-16.zip
##############################################################

✅ finished [0]
```

## Single VM deployment

Follow the steps below if you're using a single VM deployment with Docker Compose.

To update your CARTO Self-hosted to the newest version you will need to run the following commands:

1\) Checkout to the [latest stable release](https://github.com/CartoDB/carto-selfhosted/releases) you want to update:

```bash
cd carto-selfhosted
git fetch
git checkout tags/2026.5.14
```

2\) Save a backup copy of your current `customer.env`:

```
mv customer.env customer.env.bak
```

3\) Download the latest customer package (containing `customer.env` and `key.json` files):

```bash
./tools/carto-download-customer-package.sh -d . -s docker
```

4\) Open side by side `customer.env` and `customer.env.bak` and apply the customizations from `customer.env.bak` in the new `customer.env`

Generate the `.env` file

```
bash install.sh
```

Recreate the containers:

<pre class="language-bash"><code class="lang-bash"><strong>docker-compose up -d
</strong></code></pre>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.carto.com/carto-self-hosted/carto-self-hosted-legacy/maintenance/updates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
