Deploy Bytebot on Kubernetes with Helm

Helm provides a simple way to deploy Bytebot on Kubernetes clusters.

Prerequisites

  • Kubernetes cluster (1.19+)
  • Helm 3.x installed
  • kubectl configured
  • 8GB+ available memory in cluster

Quick Start

1

Clone Repository

git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
2

Configure API Keys

Create a values.yaml file with at least one API key:
bytebot-agent:
  apiKeys:
    anthropic:
      value: "sk-ant-your-key-here"
    # Optional: Add more providers
    # openai:
    #   value: "sk-your-key-here"
    # gemini:
    #   value: "your-key-here"
3

Install Bytebot

helm install bytebot ./helm \
  --namespace bytebot \
  --create-namespace \
  -f values.yaml
4

Access Bytebot

# Port-forward for local access
kubectl port-forward -n bytebot svc/bytebot-ui 9992:9992

# Access at http://localhost:9992

Basic Configuration

API Keys

Configure at least one AI provider:
bytebot-agent:
  apiKeys:
    anthropic:
      value: "sk-ant-your-key-here"
    openai:
      value: "sk-your-key-here"
    gemini:
      value: "your-key-here"

Resource Limits (Optional)

Adjust resources based on your needs:
# Desktop container (where automation runs)
desktop:
  resources:
    requests:
      memory: "2Gi"
      cpu: "1"
    limits:
      memory: "4Gi"
      cpu: "2"

# Agent (AI orchestration)
agent:
  resources:
    requests:
      memory: "1Gi"
      cpu: "500m"

External Access (Optional)

Enable ingress for domain-based access:
ui:
  ingress:
    enabled: true
    hostname: bytebot.your-domain.com
    tls: true

Accessing Bytebot

kubectl port-forward -n bytebot svc/bytebot-ui 9992:9992
Access at: http://localhost:9992

External Access

If you configured ingress:

Verifying Deployment

Check that all pods are running:
kubectl get pods -n bytebot
Expected output:
NAME                              READY   STATUS    RESTARTS   AGE
bytebot-agent-xxxxx               1/1     Running   0          2m
bytebot-desktop-xxxxx             1/1     Running   0          2m
bytebot-postgresql-0              1/1     Running   0          2m
bytebot-ui-xxxxx                 1/1     Running   0          2m

Troubleshooting

Pods Not Starting

Check pod status:
kubectl describe pod -n bytebot <pod-name>
Common issues:
  • Insufficient memory/CPU: Check node resources with kubectl top nodes
  • Missing API keys: Verify your values.yaml configuration

Connection Issues

Test service connectivity:
kubectl logs -n bytebot deployment/bytebot-agent

View Logs

# All logs
kubectl logs -n bytebot -l app=bytebot --tail=100

# Specific component
kubectl logs -n bytebot deployment/bytebot-agent

Upgrading

# Update your values.yaml as needed, then:
helm upgrade bytebot ./helm -n bytebot -f values.yaml

Uninstalling

# Remove Bytebot
helm uninstall bytebot -n bytebot

# Clean up namespace
kubectl delete namespace bytebot

Advanced Configuration

Next Steps

Need help? Join our Discord community or check our GitHub discussions.