Environment Variables

You can set environment variables to change various parts of Inngest's configuration.

We'll look at all available environment variables here, what to set them to, and what our recommendations are for their use.

Within some frameworks and platforms such as Cloudflare Workers, environment variables are not available in the global scope and are instead passed as runtime arguments to your handler. In this case, you can use inngest.setEnvVars() to ensure your client has the correct configuration before communicating with Inngest.

// For example, in Hono on Cloudflare Workers
app.on("POST", "/my-api/send-some-event", async (c) => {
  inngest.setEnvVars(c.env);

  await inngest.send({ name: "test/event" });

  return c.json({ message: "Done!" });
});

// You can also chain the call to be succinct
await inngest.setEnvVars(c.env).send({ name: "test/event" });

INNGEST_BASE_URL

Use this to tell an SDK the host to use to communicate with Inngest.

If set, it should be the host including the protocol and port, e.g. http://localhost:8288 or https://my.tunnel.com. Can be overwritten by manually specifying baseUrl in new Inngest() or serve().

In most cases we recommend keeping this unset. A common case, though, is wanting to force a production build of your app to use the Inngest Dev Server instead of Inngest Cloud for local integration testing or similar.

In this case, prefer using INNGEST_DEV=1. For Docker, it may be appropriate to also set INNGEST_BASE_URL=http://host.docker.internal:8288. Learn more in our Docker guide.


INNGEST_DEV

Use this to force an SDK to be in Dev Mode with INNGEST_DEV=1, or Cloud mode with INNGEST_DEV=0. A URL for the dev server can be set at the same time with INNGEST_DEV=http://localhost:8288.

Can be overwritten by manually specifying isDev is new Inngest().

Explicitly setting either mode will change the URLs used to communicate with Inngest, as well as turning off signature verification in Dev mode, or on in Cloud mode.

If neither the environment variable nor config option are specified, the SDK will attempt to infer which mode it should be in based on environment variables such as NODE_ENV.


INNGEST_ENV

Use this to tell Inngest which Inngest Envionment you're wanting to send and receive events from.

Can be overwritten by manually specifying env in new Inngest().

This is detected and set automatically for some platforms, but others will need manual action. See Configuring branch environments to see if you need this.


INNGEST_EVENT_KEY

The key to use to send events to Inngest. See Creating an Event Key for more information.

Can be overwritten by manually specifying eventKey in new Inngest().


INNGEST_LOG_LEVEL

The log level to use for the SDK. Can be one of fatal, error, warn, info, debug, or silent.

Defaults to info.


INNGEST_SERVE_HOST

The host used to access this application from Inngest Cloud.

If set, it should be the host including the protocol and port, e.g. http://localhost:8288 or https://my.tunnel.com. Can be overwritten by manually specifying serveHost in serve().

By default, an SDK will try to infer this using request details such as the Host header, but sometimes this isn't possible (e.g. when running in a more controlled environment such as AWS Lambda or when dealing with proxies/redirects).


INNGEST_SERVE_PATH

The path used to access this application from Inngest Cloud.

If set, it should be a valid URL path with a leading /, e.g. /api/inngest.

By default, an SDK will try to infer this using request details, but sometimes this isn't possible (e.g. when running in a more controlled environment such as AWS Lambda or when dealing with proxies/redirects).


INNGEST_SIGNING_KEY

The key used to sign requests to and from Inngest to ensure secure communication. See Serve - Signing Key for more information.

Can be overwritten by manually specifying signingKey in serve().


INNGEST_SIGNING_KEY_FALLBACK

Only used during signing key rotation. When it's specified, the SDK will automatically retry signing key auth failures with the fallback key.

Available in version 3.18.0 and above.


INNGEST_STREAMING

Sets an SDK's streaming support, potentially circumventing restrictive request timeouts and other limitations. See Streaming for more information.

Can be one of allow, force, or false.

By default, this is false, disabling streaming. It can also be overwritten by setting streaming in serve() with the same values.