Skip to content

Container Deployment

AgentCube connectors are distributed as Linux container images. This guide covers deployment on Azure Container Apps, though the images run on any container platform.

Container Image

Each connector is a single container image:

Connector Image
Essbase ghcr.io/caprusai/agentcube-essbase:{version}
Planning ghcr.io/caprusai/agentcube-planning:{version}

Container Specifications

Setting Value
Port 8080
Base image Python 3.12 (slim)
Minimum resources 0.25 vCPU, 0.5 GiB memory
Minimum replicas 1 (do not scale to zero)
TLS Handled externally (container serves HTTP)

Do not scale to zero

AgentCube connectors must have at least 1 replica running at all times. Scaling to zero causes cold starts that disrupt MCP protocol handshakes.

Azure Container Apps Deployment

1. Create the Container App

az containerapp create \
  --name {app_name} \
  --resource-group {resource_group} \
  --image ghcr.io/caprusai/agentcube-essbase:{version} \
  --target-port 8080 \
  --ingress external \
  --min-replicas 1 \
  --cpu 0.25 \
  --memory 0.5Gi \
  --env-vars \
    ESSBASE_SERVER_URL={essbase_url} \
    ESSBASE_USERNAME={username} \
    ESSBASE_PASSWORD={password}

2. Configure Custom Domain (Optional)

If using a custom domain with TLS:

  1. Add a custom domain in the Azure Portal under your Container App → Custom domains
  2. Configure DNS (CNAME or A record) pointing to the Container App URL
  3. Enable managed certificate for automatic TLS

3. Verify Deployment

curl https://{connector_hostname}/health

A healthy response shows "status": "healthy" and "backend_connected": true (for basic auth mode).

Other Container Platforms

AgentCube runs on any platform that supports Linux containers:

  • Docker / Docker Compose — Run directly with docker run
  • AWS ECS / Fargate — Deploy as a task definition
  • Google Cloud Run — Set minimum instances to 1
  • Kubernetes — Deploy as a standard pod with readiness probe on /health

The key requirements are:

  1. Port 8080 exposed
  2. Environment variables configured
  3. Minimum 1 instance always running
  4. TLS termination handled by your infrastructure

Environment Variables

See Environment Variables for the complete reference.