Skip to main content
Deploy agents to Azure Container Apps using praisonai deploy run --type cloud --provider azure.

CLI

pip install praisonai
export OPENAI_API_KEY="your-key"
export AZURE_SUBSCRIPTION_ID="your-subscription-id"

# Initialize with Azure deploy config
praisonai deploy init --file agents.yaml --type cloud --provider azure

# Check readiness
praisonai deploy doctor --provider azure

# Deploy to Azure
praisonai deploy run --file agents.yaml --type cloud --provider azure
Expected Output:
🚀 Starting deployment...

☁️  Deploying to Azure Container Apps
  • Subscription: your-subscription-id
  • Resource Group: praisonai-rg
  • Region: eastus
  • Service: praisonai-service

📦 Building and pushing Docker image...
🚀 Creating Container App...

✅ Deployment successful!
🔗 URL: https://praisonai-service.azurecontainerapps.io

Metadata:
  • provider: azure
  • region: eastus
  • resource_group: praisonai-rg
  • service: praisonai-service
Verify:
curl https://praisonai-service.azurecontainerapps.io/health

Python

from praisonai.deploy import Deploy, DeployConfig, DeployType, CloudProvider
from praisonai.deploy.models import CloudConfig

config = DeployConfig(
    type=DeployType.CLOUD,
    cloud=CloudConfig(
        provider=CloudProvider.AZURE,
        region="eastus",
        service_name="praisonai-service",
        resource_group="praisonai-rg",
        subscription_id="your-subscription-id",
        cpu="0.5",
        memory="1024",
        min_instances=1,
        max_instances=10
    )
)

deploy = Deploy(config, "agents.yaml")
result = deploy.deploy()

print(f"URL: {result.url}")

agents.yaml

framework: praisonai
topic: helpful assistant
roles:
  assistant:
    role: Assistant
    goal: Help users with their questions
    backstory: You are a helpful assistant
    tasks:
      help_task:
        description: Answer user questions
        expected_output: Helpful response

deploy:
  type: cloud
  cloud:
    provider: azure
    region: "eastus"
    service_name: "praisonai-service"
    resource_group: "praisonai-rg"
    subscription_id: "${AZURE_SUBSCRIPTION_ID}"
    cpu: "0.5"
    memory: "1024"
    min_instances: 1
    max_instances: 10
    env_vars:
      OPENAI_API_KEY: "${OPENAI_API_KEY}"

Azure Cloud Config Options

FieldTypeDefaultDescription
providerstring-Must be azure
regionstring-Azure region (e.g., eastus)
service_namestring-Container App name
resource_groupstring-Azure resource group
subscription_idstring-Azure subscription ID
cpustring0.5CPU cores
memorystring1024Memory in MB
min_instancesint1Minimum instances
max_instancesint10Maximum instances
env_varsdictnullEnvironment variables

Check Deployment Status

praisonai deploy status --file agents.yaml

Destroy Deployment

praisonai deploy destroy --file agents.yaml --yes

Troubleshooting

IssueFix
Azure credentialsaz login or set env vars
Subscription not setAdd subscription_id to agents.yaml
Resource group missingCreate via Azure portal or CLI
Deploy failedRun praisonai deploy doctor --provider azure
These commands are for manual validation only. Use praisonai deploy for deployment.
# Verify Azure CLI
az account show

# List Container Apps
az containerapp list --resource-group praisonai-rg

# View logs
az containerapp logs show --name praisonai-service --resource-group praisonai-rg