Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -2976,6 +2976,7 @@
"production/templates/overview",
"production/templates/docker",
"production/templates/railway",
"production/templates/render",
{
"group": "AWS",
"pages": [
Expand Down
Binary file added images/render-blueprint-create.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/render-env-vars.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/render-service-url.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 7 additions & 1 deletion production/templates/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ Templates are production-ready codebases that you can clone and build on top of.

## Choose Your Template

<CardGroup cols={3}>
<CardGroup cols={4}>
<Card title="Docker" icon="docker" href="/production/templates/docker">
Run AgentOS locally using Docker.
</Card>
<Card title="Railway" icon="train" href="/production/templates/railway">
Deploy AgentOS to Railway.
</Card>
<Card title="Render" icon="cloud" href="/production/templates/render">
Deploy AgentOS to Render.
</Card>
<Card title="AWS" icon="aws" href="/production/templates/aws">
Deploy AgentOS to ECS.
</Card>
Expand All @@ -24,6 +27,7 @@ Templates are production-ready codebases that you can clone and build on top of.
|----------|----------|------|
| [Docker](/production/templates/docker) | Local development, testing, self-hosting | ~5 min |
| [Railway](/production/templates/railway) | Quick production deployments, MVPs | ~10 min |
| [Render](/production/templates/render) | Quick production deployments, MVPs | ~10 min |
| [AWS](/production/templates/aws) | Production at scale, enterprise | ~15 min |

## Which Template Should I Use?
Expand All @@ -32,6 +36,8 @@ Templates are production-ready codebases that you can clone and build on top of.

**Railway** if you want to ship quickly without managing infrastructure.

**Render** if you want to ship quickly with automatic deployments from Git.

**AWS** if you need production-grade reliability and enterprise controls.

## Prerequisites
Expand Down
345 changes: 345 additions & 0 deletions production/templates/render.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,345 @@
---
title: "AgentOS on Render"
sidebarTitle: "Render"
description: "Deploy AgentOS to Render."
keywords: ["Render", "deploy", "PostgreSQL", "pgvector", "production", "AgentOS"]
---

This template deploys AgentOS and PostgreSQL with pgvector to Render. Automatic HTTPS and public domain included.

## What's Included

| Component | Description |
|-----------|-------------|
| **AgentOS** | FastAPI server running your AI agents |
| **PostgreSQL** | Database with pgvector for embeddings |
| **Automatic HTTPS** | Render handles TLS certificates |
| **Public Domain** | your-app.onrender.com |

## Prerequisites

You'll need:

- [Docker Desktop](https://docker.com/desktop)
- [uv](https://docs.astral.sh/uv) (Python package manager)
- [Render account](https://render.com) (free tier works)
- [OpenAI API key](https://platform.openai.com)
- [GitHub account](https://github.com) (for deployment)

**Install Render CLI (optional, for management):**

<CodeGroup>
```bash Mac
brew install render
```
```bash Windows/Linux
# Download from https://docs.render.com/cli
```
</CodeGroup>

## Deploy

Render offers two deployment methods:

| Method | Plan Required | Best For |
|--------|---------------|----------|
| [Blueprint (Dashboard)](#deploy-with-blueprint) | Free or Paid | Most users, free tier |
| [API (Script)](#deploy-with-api) | Paid only | Automation, CI/CD |

<Note>
The Render API does not support creating free-tier services. If you're on Render's free plan, use the Blueprint method.
</Note>

### Create Your Project

<Steps>
<Step title="Set up Python environment">

```bash
uv venv --python 3.12
source .venv/bin/activate
```

</Step>

<Step title="Install Agno">

```bash
uv pip install -U 'agno[infra]'
```

</Step>

<Step title="Create from template">

```bash
ag infra create --template agentos-render --name my-agentos
cd my-agentos
```

</Step>

<Step title="Set your API key">

```bash
export OPENAI_API_KEY=sk-***
```

</Step>
</Steps>

### Included Agents

These agents are ready to use once deployed:

<CardGroup cols={3}>
<Card title="Pal" icon="graduation-cap">
Personal assistant that learns from you. Stores notes, bookmarks, and research findings.
</Card>
<Card title="Knowledge Agent" icon="book">
RAG agent that answers questions from your documents. Pre-loaded with Agno docs.
</Card>
<Card title="MCP Agent" icon="plug">
Connects to external tools via MCP. Extensible with any MCP-compatible service.
</Card>
</CardGroup>

### Deploy with Blueprint

Deploy using the Render Dashboard. Works with free and paid plans.

<Steps titleSize="h3">
<Step title="Test locally (optional)" stepNumber={5}>

Create a `.env` file and start containers:

```bash
echo "OPENAI_API_KEY=sk-***" > .env
docker compose up -d --build
```

Open http://localhost:8000/docs to verify, then stop with `docker compose down`.

</Step>

<Step title="Push to GitHub" stepNumber={6}>

```bash
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:YOUR_USERNAME/my-agentos.git
git push -u origin main
```

</Step>

<Step title="Create Blueprint on Render" stepNumber={7}>

1. Go to [dashboard.render.com/blueprints](https://dashboard.render.com/blueprints)
2. Click **New Blueprint Instance**
3. Connect your GitHub account and select your repository
4. Render detects `render.yaml` and shows resources to create

<Frame>
<img src="/images/render-blueprint-create.png" alt="Create Blueprint on Render" />
</Frame>

</Step>

<Step title="Configure environment variables" stepNumber={8}>

Render prompts you to set:

- **OPENAI_API_KEY** (required): Your OpenAI API key
- **EXA_API_KEY** (optional): For web research features

Database variables are configured automatically.

<Frame>
<img src="/images/render-env-vars.png" alt="Configure environment variables on Render" />
</Frame>

</Step>

<Step title="Deploy" stepNumber={9}>

Click **Apply** to start deployment. Takes ~5 minutes.

</Step>

<Step title="Get your domain" stepNumber={10}>

Click on **agentos-api** service. Your URL is at the top (e.g., `https://agentos-api.onrender.com`).

Navigate to `<your-domain>/docs` to see your AgentOS API.

<Frame>
<img src="/images/render-service-url.png" alt="Render service URL" />
</Frame>

</Step>
</Steps>

### Connect to Control Plane

<Steps titleSize="h3">
<Step title="Connect your AgentOS" stepNumber={11}>

1. Go to [os.agno.com](https://os.agno.com)
2. Click "Connect OS" → Select "Live"
3. Paste your Render domain

<Frame>
<img src="/images/agent-os-connection-dialog.png" alt="AgentOS connection dialog" />
</Frame>

</Step>
</Steps>

<Check>
Your AgentOS is live! Manage it from os.agno.com
</Check>

---

### Deploy with API

Deploy using a script that calls the Render API. Requires a paid plan.

<Warning>
The Render API does not support free-tier services. This method uses paid plans:
- **Database**: basic_256mb (~$7/month)
- **Web Service**: starter (~$7/month)

Use [Blueprint deployment](#deploy-with-blueprint) for free tier.
</Warning>

<Steps titleSize="h3">
<Step title="Push to GitHub" stepNumber={5}>

```bash
git init
git add .
git commit -m "Initial commit"
git remote add origin git@github.com:YOUR_USERNAME/my-agentos.git
git push -u origin main
```

</Step>

<Step title="Get your Render API key" stepNumber={6}>

1. Go to [dashboard.render.com](https://dashboard.render.com)
2. Click profile icon → **Account Settings** → **API Keys**
3. Click **Create API Key** and copy it (starts with `rnd_`)

</Step>

<Step title="Export API keys" stepNumber={7}>

```bash
export RENDER_API_KEY=rnd_***
export OPENAI_API_KEY=sk-***
export EXA_API_KEY=*** # Optional
```

</Step>

<Step title="Deploy" stepNumber={8}>

```bash
./scripts/render_up.sh
```

Creates PostgreSQL, web service, and configures environment variables.

</Step>

<Step title="Get your domain" stepNumber={9}>

The script outputs your URL. Or use:

```bash
render services
```

Navigate to `<your-domain>/docs` to see your AgentOS API.

</Step>

<Step title="Connect to Control Plane" stepNumber={10}>

1. Go to [os.agno.com](https://os.agno.com)
2. Click "Connect OS" → Select "Live"
3. Paste your Render domain

</Step>
</Steps>

<Check>
Your AgentOS is live! Manage it from os.agno.com
</Check>

## Next Steps

<CardGroup cols={2}>
<Card title="Build Custom Agents" icon="robot" href="/agents/building-agents">
Create agents with your own tools and prompts.
</Card>
<Card title="Add Tools" icon="wrench" href="/tools/overview">
Slack, GitHub, databases, and 100+ integrations.
</Card>
<Card title="Add Knowledge" icon="database" href="/knowledge/overview">
Load documents, websites, and databases for RAG.
</Card>
<Card title="Add Interfaces" icon="comments" href="/production/interfaces/overview">
Deploy to Slack, Discord, WhatsApp, or expose via MCP.
</Card>
</CardGroup>

## Reference

### Blueprint Deployment

| Task | Action |
|------|--------|
| View logs | Dashboard → Service → **Logs** tab |
| Redeploy | Push to GitHub (auto-deploys) |
| Manual redeploy | Dashboard → **Manual Deploy** → **Deploy latest commit** |
| Update env vars | Dashboard → Service → **Environment** tab |
| Delete resources | Dashboard → **Blueprints** → Settings → **Delete Blueprint** |

### API Deployment

| Task | Command |
|------|---------|
| View logs | `render logs` |
| SSH into service | `render ssh` |
| Connect to database | `render psql` |
| Trigger redeploy | `render deploys create` |
| List services | `render services` |

## Troubleshooting

<AccordionGroup>
<Accordion title="Deployment fails">
Check logs in Dashboard or via CLI: `render logs`. Common issues: missing environment variables, Docker build errors.
</Accordion>

<Accordion title="Database connection timeout">
PostgreSQL takes ~30-60s to provision. Wait and retry.
</Accordion>

<Accordion title="Service returns 503">
Container starting. Wait 2-3 minutes for health checks to pass.
</Accordion>

<Accordion title="API script fails with 'unknown plan'">
Ensure valid plan names: `basic_256mb` for database, `starter` for web service.
</Accordion>

<Accordion title="Cannot create free-tier via API">
Render limitation. Use [Blueprint deployment](#deploy-with-blueprint) instead.
</Accordion>
</AccordionGroup>