Deploy Bold BI on Docker Desktop Kubernetes with Kong & HTTPS
Published:
This document provides a step-by-step guide to deploy Bold BI® in a Docker Desktop Kubernetes environment with persistent storage, domain-based access, and HTTPS configuration using Kong Ingress.
Prerequisites
Ensure the following are ready:
- Docker Desktop installed (Kubernetes enabled)
- Docker Desktop running
- Helm installed
- kubectl configured (docker-desktop context)
- Domain name (e.g., local-bi.demo.com)
- SSL certificate (.pem and .key)
- Rancher Desktop not running (avoid conflicts)
- Docker Desktop uses a local Kubernetes cluster
- NodePort is unreliable → use Kong (LoadBalancer)
- Windows paths may fail → prefer WSL/Linux paths for persistence
Step 1: Enable Kubernetes
- Open Docker Desktop
- Go to Settings → Kubernetes
- Enable:
- Enable Kubernetes
- Click Apply & Restart
Step 2: Verify Cluster
kubectl config current-context
kubectl get nodes
Step 3: Install Kong Ingress
Add Helm repo
helm repo add kong https://charts.konghq.com
helm repo update
Install Kong
helm install kong kong/kong \
--namespace kong \
--create-namespace \
--set proxy.type=LoadBalancer \
--set proxy.http.enabled=true \
--set proxy.tls.enabled=true
Verify
kubectl get pods -n kong
kubectl get svc -n kong
Step 4: Configure Persistent Storage
Recommended: Use WSL path
Create directory
mkdir -p /home/ubuntu/boldbi-data
Step 5: Configure Local Domain
Edit hosts file:
Open the host file in administration mode
C:\Windows\System32\drivers\etc\hosts
Add:
127.0.0.1 local-bi.demo.com
Step 6: Configure Persistent Storage (WSL Recommended)
Create directory in WSL
mkdir -p /home/ubuntu/boldbi-data
Update values.yaml
- Provide the domain name and cluster provider in values.yaml file
- Provide the mount path of your local path and storage class name as above picture
Step 7: Install Bold BI
helm install boldbi boldbi/boldbi -f values.yaml -n bold-services --create-namespace
Verify pods
kubectl get pods -n bold-services
Wait until all pods are Running
Step 8: Create TLS Secret
kubectl create secret tls bold-tls `
--cert=cert.pem `
--key=key.pem `
-n bold-services
Step 9: Access Application
Use:
https://local-bi.demo.com