Use Docker Model Runner with Compose Bridge

Compose Bridge supports model-aware deployments. It can deploy and configure Docker Model Runner, a lightweight service that hosts and serves machine LLMs.

This reduces manual setup for LLM-enabled services and keeps deployments consistent across Docker Desktop and Kubernetes environments.

If you have a models top-level element in your compose.yaml file, Compose Bridge:

  • Automatically injects environment variables for each model’s endpoint and name.
  • Configures model endpoints differently for Docker Desktop vs Kubernetes.
  • Optionally deploys Docker Model Runner in Kubernetes when enabled in Helm values

Configure model runner settings

When deploying using generated Helm Charts, you can control the model runner configuration through Helm values.

# Model Runner settings modelRunner:  # Set to false for Docker Desktop (uses host instance)  # Set to true for standalone Kubernetes clusters  enabled: false  # Endpoint used when enabled=false (Docker Desktop)  hostEndpoint: "http://host.docker.internal:12434/engines/v1/"  # Deployment settings when enabled=true  image: "docker/model-runner:latest"  imagePullPolicy: "IfNotPresent"  # GPU support  gpu:  enabled: false  vendor: "nvidia" # nvidia or amd  count: 1  # Node scheduling (uncomment and customize as needed)  # nodeSelector:  # accelerator: nvidia-tesla-t4  # tolerations: []  # affinity: {}   # Security context  securityContext:  allowPrivilegeEscalation: false  # Environment variables (uncomment and add as needed)  # env:  # DMR_ORIGINS: "http://localhost:31246"  resources:  limits:  cpu: "1000m"  memory: "2Gi"  requests:  cpu: "100m"  memory: "256Mi"  # Storage for models  storage:  size: "100Gi"  storageClass: "" # Empty uses default storage class  # Models to pre-pull  models:  - ai/qwen2.5:latest  - ai/mxbai-embed-large

Deploying a model runner

Docker Desktop

When modelRunner.enabled is false, Compose Bridge configures your workloads to connect to Docker Model Runner running on the host:

http://host.docker.internal:12434/engines/v1/

The endpoint is automatically injected into your service containers.

Kubernetes

When modelRunner.enabled is true, Compose Bridge uses the generated manifests to deploy Docker Model Runner in your cluster, including:

  • Deployment: Runs the docker-model-runner container
  • Service: Exposes port 80 (maps to container port 12434)
  • PersistentVolumeClaim: Stores model files

The modelRunner.enabled setting also determines the number of replicas for the model-runner-deployment:

  • When true, the deployment replica count is set to 1, and Docker Model Runner is deployed in the Kubernetes cluster.
  • When false, the replica count is 0, and no Docker Model Runner resources are deployed.