diff --git a/docs.json b/docs.json index ce4144e31..05574dba0 100644 --- a/docs.json +++ b/docs.json @@ -2976,6 +2976,7 @@ "production/templates/overview", "production/templates/docker", "production/templates/railway", + "production/templates/render", { "group": "AWS", "pages": [ diff --git a/images/render-blueprint-create.png b/images/render-blueprint-create.png new file mode 100644 index 000000000..1ac1d1cbd Binary files /dev/null and b/images/render-blueprint-create.png differ diff --git a/images/render-env-vars.png b/images/render-env-vars.png new file mode 100644 index 000000000..806e5afdf Binary files /dev/null and b/images/render-env-vars.png differ diff --git a/images/render-service-url.png b/images/render-service-url.png new file mode 100644 index 000000000..234c2c786 Binary files /dev/null and b/images/render-service-url.png differ diff --git a/production/templates/overview.mdx b/production/templates/overview.mdx index c01bae63f..5bb671dd3 100644 --- a/production/templates/overview.mdx +++ b/production/templates/overview.mdx @@ -8,13 +8,16 @@ Templates are production-ready codebases that you can clone and build on top of. ## Choose Your Template - + Run AgentOS locally using Docker. Deploy AgentOS to Railway. + + Deploy AgentOS to Render. + Deploy AgentOS to ECS. @@ -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? @@ -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 diff --git a/production/templates/render.mdx b/production/templates/render.mdx new file mode 100644 index 000000000..f19179e0a --- /dev/null +++ b/production/templates/render.mdx @@ -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):** + + +```bash Mac +brew install render +``` +```bash Windows/Linux +# Download from https://docs.render.com/cli +``` + + +## 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 | + + +The Render API does not support creating free-tier services. If you're on Render's free plan, use the Blueprint method. + + +### Create Your Project + + + + +```bash +uv venv --python 3.12 +source .venv/bin/activate +``` + + + + + +```bash +uv pip install -U 'agno[infra]' +``` + + + + + +```bash +ag infra create --template agentos-render --name my-agentos +cd my-agentos +``` + + + + + +```bash +export OPENAI_API_KEY=sk-*** +``` + + + + +### Included Agents + +These agents are ready to use once deployed: + + + + Personal assistant that learns from you. Stores notes, bookmarks, and research findings. + + + RAG agent that answers questions from your documents. Pre-loaded with Agno docs. + + + Connects to external tools via MCP. Extensible with any MCP-compatible service. + + + +### Deploy with Blueprint + +Deploy using the Render Dashboard. Works with free and paid plans. + + + + +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`. + + + + + +```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 +``` + + + + + +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 + + + Create Blueprint on Render + + + + + + +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. + + + Configure environment variables on Render + + + + + + +Click **Apply** to start deployment. Takes ~5 minutes. + + + + + +Click on **agentos-api** service. Your URL is at the top (e.g., `https://agentos-api.onrender.com`). + +Navigate to `/docs` to see your AgentOS API. + + + Render service URL + + + + + +### Connect to Control Plane + + + + +1. Go to [os.agno.com](https://os.agno.com) +2. Click "Connect OS" → Select "Live" +3. Paste your Render domain + + + AgentOS connection dialog + + + + + + +Your AgentOS is live! Manage it from os.agno.com + + +--- + +### Deploy with API + +Deploy using a script that calls the Render API. Requires a paid plan. + + +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. + + + + + +```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 +``` + + + + + +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_`) + + + + + +```bash +export RENDER_API_KEY=rnd_*** +export OPENAI_API_KEY=sk-*** +export EXA_API_KEY=*** # Optional +``` + + + + + +```bash +./scripts/render_up.sh +``` + +Creates PostgreSQL, web service, and configures environment variables. + + + + + +The script outputs your URL. Or use: + +```bash +render services +``` + +Navigate to `/docs` to see your AgentOS API. + + + + + +1. Go to [os.agno.com](https://os.agno.com) +2. Click "Connect OS" → Select "Live" +3. Paste your Render domain + + + + + +Your AgentOS is live! Manage it from os.agno.com + + +## Next Steps + + + + Create agents with your own tools and prompts. + + + Slack, GitHub, databases, and 100+ integrations. + + + Load documents, websites, and databases for RAG. + + + Deploy to Slack, Discord, WhatsApp, or expose via MCP. + + + +## 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 + + + + Check logs in Dashboard or via CLI: `render logs`. Common issues: missing environment variables, Docker build errors. + + + + PostgreSQL takes ~30-60s to provision. Wait and retry. + + + + Container starting. Wait 2-3 minutes for health checks to pass. + + + + Ensure valid plan names: `basic_256mb` for database, `starter` for web service. + + + + Render limitation. Use [Blueprint deployment](#deploy-with-blueprint) instead. + +