> ## Documentation Index
> Fetch the complete documentation index at: https://docs.instacloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrate from Render

> Move a Render web service and its Postgres onto InstaCloud.

A web service becomes an InstaCloud **compute** service, Render Postgres becomes a **postgres** service, and your environment variables become project secrets. A `DATABASE_URL` that `fromDatabase` filled in becomes a binding rather than a copied string. This guide takes you from a running Render service to the same app on InstaCloud, with its data. Your coding agent does most of it.

InstaCloud offers:

* **Postgres with real branching.** A branch opens as a copy-on-write clone holding all of the parent's data, at its own connection string, so a feature or an agent task can run migrations nowhere near production.
* **Built for coding agents.** A CLI and an MCP server your agent drives directly, with an approval gate on the actions that matter.
* **Flexible deployments.** A GitHub repo with no Dockerfile needed, your own Dockerfile, or an image from any registry.
* **Managed services alongside.** Postgres, Redis, MySQL, MongoDB, and object storage in one project.
* **Real support.** An active community on [Discord](https://discord.com/invite/MPxwj5xVvW).

## Migration steps

We will migrate [Render's own Django example](https://github.com/render-examples/django), a Python web service with a Postgres database. The interesting part of its `render.yaml`, abridged. The full file also carries `plan`, `databaseName`, `user` and a `startCommand`:

```yaml theme={null}
databases:
  - name: mysitedb

services:
  - type: web
    name: mysite
    runtime: python
    buildCommand: "./build.sh"
    envVars:
      - key: DATABASE_URL
        fromDatabase:
          name: mysitedb
          property: connectionString
      - key: SECRET_KEY
        generateValue: true
      - key: WEB_CONCURRENCY
        value: 4
```

### 1. Point a coding agent at your Render app

Your agent reads the service straight from Render's API, so it needs your repo name and a Render API key, not a checkout. Give it the skill first:

```bash theme={null}
npx -y insta@latest agent setup
```

That installs the `insta` CLI, the `insta` skill, and the MCP server for every coding agent on this machine. The skill is what knows how to read a `render.yaml` and turn it into services.

### 2. Create a project

```bash theme={null}
insta project create mysite
```

Or click **Create Project** in the [console](https://console.instacloud.com). A new project starts empty.

### 3. Ask your agent to migrate

Get a Render API key first, under **Account Settings → API Keys** in the Render dashboard. Your agent needs it to read your environment variables, which the Render CLI has no command for.

```text title="Prompt" wrap theme={null}
Migrate my Render service mysite and its Postgres database mysitedb to InstaCloud. The repo is render-examples/django, and my Render API key is in RENDER_API_KEY. Follow the insta skill's migration runbook, and stop before sending traffic to it.
```

It will ask you to approve anything that touches production, and it will ask you to scale Render to zero at the right moment, since only you can do that.

Leave the Render service suspended rather than deleted, so you can go back to it.

## Limitations

A few things are not here yet. [Limitations](/limitations/overview) covers the ones people hit most, and is worth the minute before you commit. Stuck anywhere? Come to [Discord](https://discord.com/invite/MPxwj5xVvW).
