Deployment

Deploy BeeSystem agents to production using Docker, Kubernetes, or any container orchestration platform.

Docker deployment

The recommended way to deploy Bee Worker is as a Docker container:

docker-compose.yamlyaml
# docker-compose.yaml
version: "3.9"
services:
  bee-worker:
    image: beesystem/bee-worker:latest
    ports:
      - "7433:7433"
    volumes:
      - ./agents:/agents
      - ./config:/config
    environment:
      BEE_LOG_LEVEL: info
      BEE_LOG_FORMAT: json
    restart: unless-stopped

  bee-hive:
    image: beesystem/bee-hive:latest
    ports:
      - "7434:7434"
    environment:
      BEE_WORKER_ADDR: bee-worker:7433
    depends_on:
      - bee-worker

Kubernetes deployment

k8s-deployment.yamlyaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: bee-worker
spec:
  replicas: 3
  selector:
    matchLabels:
      app: bee-worker
  template:
    metadata:
      labels:
        app: bee-worker
    spec:
      containers:
        - name: bee-worker
          image: beesystem/bee-worker:latest
          ports:
            - containerPort: 7433
          env:
            - name: BEE_LOG_FORMAT
              value: json
          resources:
            requests:
              memory: "256Mi"
              cpu: "250m"
            limits:
              memory: "512Mi"
              cpu: "500m"
---
apiVersion: v1
kind: Service
metadata:
  name: bee-worker-svc
spec:
  selector:
    app: bee-worker
  ports:
    - port: 7433
      targetPort: 7433

Scaling with Bee Hive

When running multiple Bee Worker instances, deploy Bee Hive as the coordination layer. Bee Hive handles task routing, load distribution, and agent pool management.

Environment variables

VariableDefaultDescription
BEE_PORT7433HTTP port for the runtime API
BEE_LOG_LEVELinfoLog level: debug, info, warn, error
BEE_LOG_FORMATjsonLog format: json, text
BEE_MAX_AGENTS10Max concurrent agent executions
BEE_TIMEOUT60sDefault agent execution timeout

Health checks

GET /health       → {"status": "ok", "version": "0.1.0"}
GET /ready        → {"ready": true, "agents": 0}
GET /metrics      → Prometheus-compatible metrics