Skip to content

Migrate from Render

Moving from Render to Ownkube is mostly re-pointing your repo, re-creating your database, and copying the variables from your env groups. There’s no rewrite: if it deploys on Render, it deploys on Ownkube. This guide walks the cutover, including the database dump and restore.

For a side-by-side of the two platforms, see Ownkube vs Render.

On RenderOn Ownkube
Web Service from a GitHub repoA Web deployment from the same repo
Background WorkerA Worker deployment
Cron JobA Job deployment with a schedule
Render PostgresA managed PostgreSQL database
Env group variablesEnvironment variables on the deployment
Public URLA public *.ownkube.app hostname with automatic TLS (custom domains on Starter clusters)
  1. Connect your repo

    Connect your GitHub or GitLab account so Ownkube can build from the same repo. See Registries.

  2. Create a Web deployment

    From your dashboard, create a Web deployment, point it at your repo and branch, and set the port your app listens on. Ownkube builds from source, or uses your Dockerfile if you have one. A Render Background Worker maps to an Ownkube Worker deployment the same way.

  3. Copy your environment variables

    Bring over the variables from your Render env groups. Add them as KEY=value pairs and flip Secret on the sensitive ones. See Environment variables.

  1. Create a managed Postgres database

    Add a Database (PostgreSQL) in the same environment as your app. Ownkube generates credentials and injects DATABASE_URL into your app. See Databases.

  2. Dump from Render

    Using your Render database’s external connection string, dump the data:

    Terminal window
    pg_dump "$RENDER_EXTERNAL_DATABASE_URL" --no-owner --no-privileges -Fc -f dump.pgc
  3. Restore into Ownkube

    Turn on public access for the new database (temporarily), then restore into it with TLS verification on:

    Terminal window
    pg_restore --no-owner --no-privileges \
    -d "postgresql://user:pass@db-yourname.ownkube.app:5432/app?sslmode=verify-full&sslnegotiation=direct" \
    dump.pgc

    Turn public access back off when the restore finishes. For production traffic, connect from inside the network.

  1. Verify on Ownkube. Open the generated hostname, exercise the app, and confirm it reads and writes the migrated database.
  2. Switch traffic. Update links and callback URLs to the Ownkube hostname. On a Starter cluster you can map your custom domain instead.
  3. Decommission Render once traffic is served from Ownkube and you’ve confirmed a clean window.

You can start on Ownkube Compute and, if you ever want your own data boundary or your own bill, connect an AWS account and run the same app in your own VPC with no second migration. See Clusters.