Object Storage (blob buckets)
Object storage (blob buckets) prerequisites for CARTO Self-Hosted
CARTO Self-Hosted requires object storage that you provide and manage in your own cloud account. Complete all steps on this page before deploying CARTO. See How CARTO uses Object Storage for background.
Supported providers
Google Cloud
Cloud Storage (GCS)
Amazon Web Services
Amazon S3
Microsoft Azure
Azure Blob Storage
Any S3-compatible provider
Oracle OCI, OVH, Ceph, and others
Required buckets
The bucket names shown in the Admin Console (Kots) and in customizations.yaml (Helm) differ. There are no naming constraints; use any names that comply with your cloud provider's rules.
Temp Bucket
Yes
Upload and import datasets into CARTO
Assets Bucket
Yes
Store generated map thumbnails and customization assets
Export Bucket
Optional
Export data from your data warehouse
Import Bucket
Yes
workspaceImportsBucket
Upload and import datasets into CARTO
Thumbnails Bucket
Yes
workspaceThumbnailsBucket
Store generated map thumbnails and customization assets
Export Bucket
Optional
workspaceExportsBucket (BigQuery) / awsExportBucket (S3)
Export data from your data warehouse
Export bucket provider: Two warehouses require a specific provider, because they write the export file themselves. The rest work with any supported store:
BigQuery
Google Cloud Storage
Redshift
AWS S3
Snowflake, Oracle, PostgreSQL, Databricks
Any bucket CARTO supports — GCS, AWS S3, Azure Blob, or an S3-compatible store
Setting up your buckets
Select your cloud provider and follow the steps to create the buckets, configure CORS, and set up access permissions before deploying CARTO:
1. Create the buckets
Create the following buckets in GCS:
Temp Bucket (Kots) / Import Bucket (Helm)
Assets Bucket (Kots) / Thumbnails Bucket (Helm)
Export Bucket (optional, only if you plan to export data from your data warehouse)
2. Configure CORS
Temp/Import and Assets/Thumbnails buckets require CORS configured at the bucket level:
3. Configure access permissions
Ensure that the identity used to access your GCS buckets has read/write permissions on all of them. It should have the roles/storage.admin role over the buckets that will be used.
Provide the Project ID of the GCP project where your buckets are located. You will need this when configuring CARTO.
1. Create the buckets
Create the following buckets in your AWS S3 account:
Temp Bucket (Kots) / Import Bucket (Helm)
Assets Bucket (Kots) / Thumbnails Bucket (Helm)
Export Bucket (optional, only if you plan to export data from your data warehouse)
When creating your S3 buckets:
ACLs must be enabled — CARTO sets
public-readpermissions on individual thumbnail objects.If server-side encryption is enabled, the user must be granted permissions over the KMS key — see AWS documentation.
2. Configure CORS
Temp/Import and Assets/Thumbnails buckets require CORS configured at the bucket level:
3. Configure access permissions
Create an IAM user and generate a programmatic Access Key ID and Secret Access Key with read/write access permissions over the buckets. All buckets must be in the same AWS region.
1. Create the containers
Create the following containers in your Azure Blob storage account:
Temp Bucket (Kots) / Import Bucket (Helm)
Assets Bucket (Kots) / Thumbnails Bucket (Helm)
Export Bucket (optional, only if you plan to export data from your data warehouse)
2. Configure CORS
Temp/Import and Assets/Thumbnails containers require CORS configured at the storage account level:
3. Configure access
Generate an Access Key from the storage account's Security properties. You will need this when configuring CARTO.
Follow the AWS S3 steps above — create the buckets, apply the same CORS policy, and generate an access key pair with read/write access over them. Your provider's console will use its own names for these, and its CORS syntax may differ; the origins, methods, and headers to allow are the same.
Your store must support:
Signature Version 4 authentication
Presigned URLs for GET and PUT — browsers upload and download objects directly
CORS configured per bucket, or account-wide
Note down your endpoint — the URL clients use to reach your store, for example https://objects.example.com. CARTO needs it.
Checklist
Once your buckets are ready, configure CARTO to use them in Configure your own buckets.
Last updated
Was this helpful?
