πŸ“šBook Signing at KubeCon EU 2026Meet us at Booking.com HQ (Mon 18:30-21:00) & vCluster booth #521 (Tue 24 Mar, 12:30-1:30pm) β€” free book giveaway!RSVP Booking.com Event
Helm intermediate ⏱ 25 minutes K8s 1.28+

OpenClaw Helm Chart with Chromium Sidecar

Deploy OpenClaw using the community Helm chart with Chromium browser sidecar for web automation, declarative skill installation, and custom values overlays.

By Luca Berton β€’ β€’ πŸ“– 5 min read

πŸ’‘ Quick Answer: Install the community Helm chart with helm install openclaw oci://ghcr.io/serhanekicii/openclaw-helm/openclaw to deploy OpenClaw with an optional Chromium sidecar for browser automation and an init container for declarative skill installation.

The Problem

The official OpenClaw Kustomize manifests are minimal by design. If you need browser automation (Chromium sidecar), declarative skill installation, or standard Helm features like templated values, upgrade history, and rollback β€” you need a Helm chart.

The Solution

Step 1: Install the Community Helm Chart

# Add the chart (OCI registry)
helm install openclaw oci://ghcr.io/serhanekicii/openclaw-helm/openclaw \
  --namespace openclaw --create-namespace \
  --set secrets.anthropicApiKey="sk-ant-..." \
  --set secrets.gatewayToken="$(openssl rand -hex 32)"

Step 2: Custom Values File

# values-production.yaml
replicaCount: 1

image:
  repository: ghcr.io/openclaw/openclaw
  tag: "slim"
  pullPolicy: IfNotPresent

# Gateway configuration
config:
  openclaw:
    gateway:
      mode: local
      bind: loopback
      port: 18789
      auth:
        mode: token
      controlUi:
        enabled: true
    agents:
      defaults:
        workspace: "~/.openclaw/workspace"
      list:
        - id: default
          name: "Production Assistant"
          workspace: "~/.openclaw/workspace"
    cron:
      enabled: true

# Agent instructions
agentsMd: |
  # Production OpenClaw Agent
  You are a DevOps assistant with access to browser automation.
  Use the browser for web scraping, testing, and monitoring dashboards.

# Secrets (use external-secrets in production)
secrets:
  gatewayToken: ""  # Auto-generated if empty
  anthropicApiKey: ""
  openaiApiKey: ""

# Enable Chromium sidecar
chromium:
  enabled: true
  image:
    repository: ghcr.io/anthropics/anthropic-quickstarts
    tag: "chromium-latest"
  resources:
    requests:
      memory: 512Mi
      cpu: 250m
    limits:
      memory: 2Gi
      cpu: "1"

# Declarative skill installation
skills:
  enabled: true
  install:
    - name: web-search
      source: https://github.com/openclaw-skills/web-search
    - name: gmail
      source: https://github.com/openclaw-skills/gmail

# Storage
persistence:
  enabled: true
  size: 10Gi
  storageClass: ""  # Use cluster default

# Resources
resources:
  requests:
    memory: 512Mi
    cpu: 250m
  limits:
    memory: 2Gi
    cpu: "1"

# Security
podSecurityContext:
  fsGroup: 1000
  seccompProfile:
    type: RuntimeDefault

securityContext:
  runAsNonRoot: true
  runAsUser: 1000
  readOnlyRootFilesystem: true
  allowPrivilegeEscalation: false
  capabilities:
    drop: ["ALL"]

Step 3: Deploy with Custom Values

helm install openclaw oci://ghcr.io/serhanekicii/openclaw-helm/openclaw \
  --namespace openclaw --create-namespace \
  -f values-production.yaml

Chromium Sidecar Architecture

graph TB
    A[OpenClaw Pod] --> B[Gateway Container]
    A --> C[Chromium Sidecar]
    A --> D[Skill Init Container]
    B -->|CDP Protocol| C
    C -->|Browse Web| E[External Sites]
    D -->|Git Clone| F[Skill Repos]
    D -->|Copy to| G[PVC: /home/node/.openclaw]
    B --> G

The Chromium sidecar runs headless Chromium accessible via Chrome DevTools Protocol (CDP). OpenClaw connects to it on localhost:9222 for:

  • Web scraping and data extraction
  • Dashboard monitoring screenshots
  • Form filling and UI testing
  • Browser-based authentication flows

Step 4: Verify Browser Automation

# Port-forward and access
kubectl port-forward svc/openclaw 18789:18789 -n openclaw

# In OpenClaw session, test browser:
# "Open https://example.com and take a screenshot"

Upgrade and Rollback

# Upgrade with new values
helm upgrade openclaw oci://ghcr.io/serhanekicii/openclaw-helm/openclaw \
  -n openclaw -f values-production.yaml

# Check history
helm history openclaw -n openclaw

# Rollback to previous
helm rollback openclaw 1 -n openclaw

Common Issues

Chromium OOM Killed

Chromium is memory-hungry. Increase limits:

chromium:
  resources:
    limits:
      memory: 4Gi

Skills Init Container Fails

Check if Git URLs are accessible from the cluster:

kubectl logs -n openclaw deploy/openclaw -c init-skills

Helm Values Not Applied

Verify rendered manifests:

helm template openclaw oci://ghcr.io/serhanekicii/openclaw-helm/openclaw \
  -f values-production.yaml | less

Best Practices

  • Use Helm for complex deployments β€” Chromium sidecar, skills, multi-env
  • Use Kustomize for simple deployments β€” single instance, no browser needed
  • Pin chart versions β€” --version 0.1.0 for reproducible deploys
  • External Secrets for API keys β€” don’t pass secrets via --set in CI/CD
  • Chromium memory budget β€” allocate 1-4GB depending on concurrent pages
  • Skill pinning β€” specify Git refs for skills to avoid breaking changes

Key Takeaways

  • The community Helm chart adds Chromium sidecar and declarative skill installation
  • Chromium enables browser automation via CDP on localhost:9222
  • Use values.yaml overlays per environment (dev/staging/prod)
  • Helm provides upgrade history and one-command rollback
  • Pin chart and image versions for production stability
#openclaw #helm #chromium #browser-automation #sidecar
Luca Berton
Written by Luca Berton

Principal Solutions Architect specializing in Kubernetes, AI/GPU infrastructure, and cloud-native platforms. Author of Kubernetes Recipes and creator of CopyPasteLearn courses.

Kubernetes Recipes book cover

Want More Kubernetes Recipes?

This recipe is from Kubernetes Recipes, our 750-page practical guide with hundreds of production-ready patterns.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens