🛞Advanced Orchestrated container deployment
Get CARTO Self-Hosted running on Kubernetes with Helm in the shortest time possible
This quickstart walks you through the minimum steps to deploy CARTO Self-Hosted on a Kubernetes cluster using Helm. It uses default values wherever possible to reduce time-to-deployment.
For a full production-ready installation with all configuration options, see the Advanced Orchestrated container deployment guide.
Before you begin
Complete every item below before starting. Each prerequisite has a dedicated setup guide. Do not skip them.
Steps
1. Create the CARTO namespace
2. Create your customizations.yaml
Create a new file called customizations.yaml in the same directory as your customer package files.
2.1 Domain and database
2.2 Object storage
Make sure your buckets are already created and CORS is configured (see Object Storage prerequisites). Then add the storage configuration to your customizations.yaml for your cloud provider:
3. Add the CARTO Helm repository
4. Install CARTO with Helm
5. Watch the rollout
All pods should reach Running status. This may take 3–5 minutes on first install.
6. Set up domain access
Once the deployment is running, get your cluster's load balancer IP or hostname:
Option A — Cloud cluster with a LoadBalancer IP/hostname:
Map the domain to the external IP in /etc/hosts for a quick local test:
Option B — Local cluster or no LoadBalancer (kind, minikube, etc.):
Use kubectl port-forward to access CARTO directly on localhost:
Then open http://localhost:8080 in your browser (no TLS in this mode).
For production DNS setup, see Load Balancing best practices.
Verify first success
Once deployment completes, confirm the following:
If any check fails, see Troubleshooting and Debug mode and logs.
Next steps
For a production-ready installation with full configuration options, use the Advanced Orchestrated container deployment guide.
Last updated
Was this helpful?
