Deploy to Render

Deploy PraisonAI to Render in one command

Deploy your agents to Render with a starter render.yaml and a single deploy command.

Diagram

Render Deploy

💻 create –template render

📝 Edit render.yaml

🚀 deploy render

✅ Render service

Quick Start

  1. Scaffold the project

    The starter drops render.yaml and agents.yaml into the current directory.

    bash
    praisonai deploy create --template render
  2. Set your API key

    Render marks OPENAI_API_KEY as sync: false, so set it in the dashboard.

    text
    Render dashboard → Environment → OPENAI_API_KEY
  3. Deploy

    Trigger a Render deploy.

    bash
    praisonai deploy render

How It Works

The command shells out to the Render CLI to create a deploy.

Diagram
render CLIdeploy renderUserrender CLIdeploy renderUserpraisonai deploy renderrender deploys create <service> –confirmDeploy triggered

CloudConfig support (not yet wired)

praisonai deploy render runs render deploys create <service> --confirm alone — it does not apply any CloudConfig fields yet. Set them in the Render dashboard until CLI wiring lands (PraisonAI PR #4876).

Diagram

CloudConfig fields

logger.warning + metadata.unapplied

Set in Render dashboard

CloudConfig fieldApplied?Workaround
env_varsNot applied (names logged only)Add as environment variables in the Render dashboard
imageNot appliedSet image.url in render.yaml
cpuNot appliedChoose an instance type in the Render dashboard
memoryNot appliedChoose an instance type in the Render dashboard
regionNot appliedChoose the region in the Render dashboard
min_instances / max_instancesNot appliedConfigure scaling in the Render dashboard

Every set field is surfaced via logger.warning(...) and echoed in DeployResult.metadata["unapplied"]. Secret names appear; secret values never reach a log line.


Command Options

ArgumentDefaultDescription
FILE (positional)agents.yamlAgent file to deploy.

Starter render.yaml

The render starter deploys the prebuilt image.

SettingValue
runtimeimage
image.urlghcr.io/mervinpraison/praisonai:latest
healthCheckPath/health
OPENAI_API_KEYsync: false (set in dashboard)
PRAISONAI_API_AUTHenabled

Doctor

Check Render readiness before deploying.

bash
praisonai deploy doctor --provider render

Best Practices

Pin the image tag for production

The starter uses latest. Pin a released ghcr.io/mervinpraison/praisonai tag in render.yaml.

Keep OPENAI_API_KEY out of Git

The starter sets sync: false for OPENAI_API_KEY, so it must be entered in the Render dashboard rather than committed.

Destroy from the dashboard

praisonai deploy destroy is not automated for Render — delete the service in the Render dashboard.


Related