Minimal Prerequisites
Before you apply the example values files, make sure you complete these minimal prerequisites for your environment: Kubernetes Cluster Access Ensure you have access to a running Kubernetes cluster (Minikube, GKE, or EKS) with permissions to deploy workloads and required controllers (such as load balancer controllers) installed. You’ll needkubectl and the GrowthBook Helm chart, which is available on Artifact Hub.
Authentication Secrets
Generate and Store JWT and encryption secrets for backend authentication and encryption:
sslip.io and traefik.me provide wildcard DNS that resolves based on the IP address in the hostname:
sslip.io: If your ingress IP is35.X.X.X, thenmyapp.35.X.X.X.sslip.ioresolves to35.X.X.Xtraefik.me: Similar functionality but with dashes, e.g.,myapp.35-X-X-X.traefik.me
- Local development with Minikube
- Quick testing in cloud environments before setting up proper DNS
- Temporary deployments or demos
sslip.io for demonstration purposes. For production, you should use proper DNS records in your cloud provider.
Environment Configuration
In the next step you will need to decide on which environment to deploy to and configure your values files accordingly before installation.
Available configuration optionsThe examples below provide minimal configurations to get you started quickly. For a complete list of all available configuration options and advanced customization, refer to the full values.yaml file in our repository.
Environment-Specific Values
- AWS (EKS)
- GCP
- Minikube
Default hostnames below use sslip.io for quick testing.
For production, use a domain registered in your cloud provider’s DNS (e.g., Route53 for AWS).
The hostnames in the values file must match the domain you intend to use for Ingress.
Replace INGRESS_IP with the external IP assigned to your Ingress object.
Minimal values-aws.yaml
Minimal values-aws.yaml
- Wait for your Ingress object to be assigned an external IP. This might take anywhere from 3 to 5 minutes.
- Update your
values-aws.yamlfile to use this IP in allsslip.iohostnames. - Run
helm upgrade —install growthbook oci://ghcr.io/growthbook/charts/growthbook -f values-aws.yamlto apply the change.
Accessing GrowthBook
After deploying with Helm, access GrowthBook using the Ingress hostnames you configured in your values file:-
Minikube:
- Run
minikube tunnelin a separate terminal to expose the Ingress IP to your host. - Frontend:
https://growthbook.${MINIKUBE-IP}.sslip.io - Backend/API:
https://api.${MINIKUBE-IP}.sslip.io - (Replace
${MINIKUBE-IP}with the output ofminikube ip)
/etc/hostsfile: - Run
-
AWS & GCP
- Use the hostname you set in your values file
- Check your Ingress/ALB resource for the external DNS name if using AWS Load Balancer Controller or domain if using a cloud-managed Ingress
Open the frontend URL in your browser to start using GrowthBook. The backend/API URL is used by the frontend and for API access.
Troubleshooting
If something isn’t working as expected, use these commands to check the status of your resources:- List all pods and their status:
- Describe a specific pod (replace
POD_NAMEandNAMESPACE): - Check the status of your services:
- Inspect your Ingress resources:

