Render

Render lets you easily deploy and scale full stack applications. You can deploy your Inngest functions on Render using any web framework, including Next.js, Express, and FastAPI.

Below, we'll cover how to deploy:

  1. A production Inngest app
  2. Preview apps for each of your Git development branches

Before you begin

  • Create a web application that serves Inngest functions.
  • Test this web app locally with the Inngest dev server.

Deploy a production app on Render

  1. Deploy the web application that contains your Inngest functions to Render.
  2. Set the INNGEST_SIGNING_KEY and INNGEST_EVENT_KEY environment variables on your Render web app.
    • You can easily configure environment variables on a Render service through the Render dashboard.
    • You can find your production INNGEST_SIGNING_KEY here, and your production INNGEST_EVENT_KEYs here.
  3. Manually sync your Render web app with Inngest.

Automatically sync your app with Inngest

Each time you push changes to your Inngest functions, you need to sync your web app with Inngest.

For convenience, you can automate these syncs. Here are two possible approaches:

  1. Self-sync: Modify your app's code so that your app calls its own Inngest serve endpoint after it starts up. (In other words, make your app issue the "curl command" on itself inside of your app's entry point.)
  2. CI/CD: Another option is to make your CI/CD pipeline sync your app using the "curl command" after each deploy to Render.
    • Note: You will need to set up your CI/CD pipeline to poll your Render app to determine when each new deploy has completed. Call the "curl command" only after a deploy is complete.

Set up preview apps on Render

What are preview apps?

Render lets you deploy work-in-progress versions of your apps using code in a Git development branch. Specifically, you can deploy:

  • Service previews: a temporary standalone instance of a single Render service.
  • Preview environments: a disposable copy of your production environment that can include multiple services and databases.

You can use Render's service previews and preview environments together with Inngest's branch environments.

Set up Inngest in preview apps

To use Inngest in a Render service preview or preview environment, follow these steps.

One-time setup:

  1. Follow Render's guides to enable either a service preview or a preview environment.
  2. In Inngest, create a branch environment INNGEST_SIGNING_KEY and a branch environment INNGEST_EVENT_KEY.
    • You can find your branch environment INNGEST_SIGNING_KEY here.
    • You can create a branch environment INNGEST_EVENT_KEY here.

Each time a preview app is deployed:

  1. Set the following environment variables on the preview service:

    • INNGEST_SIGNING_KEY and INNGEST_EVENT_KEY: Use the values from your Inngest branch environment.
    • INNGEST_ENV: Provide any value you want. This value will be used as the name of the branch in Inngest. As an option, you can use the value of RENDER_GIT_BRANCH.

    You can configure environment variables on the preview service through the Render dashboard. Alternatively, you can send a PUT or PATCH request via the Render API.

  2. Sync the app with Inngest.

    You can manually sync the app from the branch environments section of your Inngest dashboard, or automatically sync your app using a strategy described above.