> ## 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.

# Helm Deployment

> Deploy Bytebot on Kubernetes using Helm charts

# 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

<Steps>
  <Step title="Clone Repository">
    ```bash theme={null}
    git clone https://github.com/bytebot-ai/bytebot.git
    cd bytebot
    ```
  </Step>

  <Step title="Configure API Keys">
    Create a `values.yaml` file with at least one API key:

    ```yaml theme={null}
    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"
    ```
  </Step>

  <Step title="Install Bytebot">
    ```bash theme={null}
    helm install bytebot ./helm \
      --namespace bytebot \
      --create-namespace \
      -f values.yaml
    ```
  </Step>

  <Step title="Access Bytebot">
    ```bash theme={null}
    # Port-forward for local access
    kubectl port-forward -n bytebot svc/bytebot-ui 9992:9992

    # Access at http://localhost:9992
    ```
  </Step>
</Steps>

## Basic Configuration

### API Keys

Configure at least one AI provider:

```yaml theme={null}
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:

```yaml theme={null}
# 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:

```yaml theme={null}
ui:
  ingress:
    enabled: true
    hostname: bytebot.your-domain.com
    tls: true
```

## Accessing Bytebot

### Local Access (Recommended)

```bash theme={null}
kubectl port-forward -n bytebot svc/bytebot-ui 9992:9992
```

Access at: [http://localhost:9992](http://localhost:9992)

### External Access

If you configured ingress:

* Access at: [https://bytebot.your-domain.com](https://bytebot.your-domain.com)

## Verifying Deployment

Check that all pods are running:

```bash theme={null}
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:

```bash theme={null}
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:

```bash theme={null}
kubectl logs -n bytebot deployment/bytebot-agent
```

### View Logs

```bash theme={null}
# All logs
kubectl logs -n bytebot -l app=bytebot --tail=100

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

## Upgrading

```bash theme={null}
# Update your values.yaml as needed, then:
helm upgrade bytebot ./helm -n bytebot -f values.yaml
```

## Uninstalling

```bash theme={null}
# Remove Bytebot
helm uninstall bytebot -n bytebot

# Clean up namespace
kubectl delete namespace bytebot
```

## Advanced Configuration

<AccordionGroup>
  <Accordion title="Using External Secrets">
    If using Kubernetes secret management (Vault, Sealed Secrets, etc.):

    ```yaml theme={null}
    bytebot-agent:
      apiKeys:
        anthropic:
          useExisting: true
          secretName: "my-api-keys"
          secretKey: "anthropic-key"
    ```

    Create the secret manually:

    ```bash theme={null}
    kubectl create secret generic my-api-keys \
      --namespace bytebot \
      --from-literal=anthropic-key="sk-ant-your-key"
    ```
  </Accordion>

  <Accordion title="LiteLLM Proxy Mode">
    For centralized LLM management, use the included LiteLLM proxy:

    ```bash theme={null}
    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
  </Accordion>

  <Accordion title="Custom Storage">
    Configure persistent storage:

    ```yaml theme={null}
    desktop:
      persistence:
        enabled: true
        size: "20Gi"
        storageClass: "fast-ssd"

    postgresql:
      persistence:
        size: "20Gi"
        storageClass: "fast-ssd"
    ```
  </Accordion>

  <Accordion title="Production Security">
    ```yaml theme={null}
    # 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!
    ```
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Integrate Bytebot with your applications
  </Card>

  <Card title="LiteLLM Integration" icon="plug" href="/deployment/litellm">
    Use any LLM provider with Bytebot
  </Card>
</CardGroup>

<Note>
  **Need help?** Join our [Discord community](https://discord.com/invite/d9ewZkWPTP) or check our [GitHub discussions](https://github.com/bytebot-ai/bytebot/discussions).
</Note>
