Documentation Index
Fetch the complete documentation index at: https://docs.bytebot.ai/llms.txt
Use this file to discover all available pages before exploring further.
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
Clone Repository
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot
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"
Install Bytebot
helm install bytebot ./helm \
--namespace bytebot \
--create-namespace \
-f values.yaml
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
Local Access (Recommended)
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
If using Kubernetes secret management (Vault, Sealed Secrets, etc.):bytebot-agent:
apiKeys:
anthropic:
useExisting: true
secretName: "my-api-keys"
secretKey: "anthropic-key"
Create the secret manually:kubectl create secret generic my-api-keys \
--namespace bytebot \
--from-literal=anthropic-key="sk-ant-your-key"
For centralized LLM management, use the included LiteLLM proxy:helm install bytebot ./helm \
-f values-proxy.yaml \
--namespace bytebot \
--create-namespace \
--set bytebot-llm-proxy.env.ANTHROPIC_API_KEY="your-key"
This provides:
- Centralized API key management
- Request routing and load balancing
- Rate limiting and retry logic
Configure persistent storage:desktop:
persistence:
enabled: true
size: "20Gi"
storageClass: "fast-ssd"
postgresql:
persistence:
size: "20Gi"
storageClass: "fast-ssd"
# Network policies
networkPolicy:
enabled: true
# Pod security
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
# Enable authentication
auth:
enabled: true
type: "basic"
username: "admin"
password: "changeme" # Use secrets in production!
Next Steps
API Reference
Integrate Bytebot with your applications
LiteLLM Integration
Use any LLM provider with Bytebot