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.
- INNGEST_BASE_URL
- INNGEST_DEV
- INNGEST_ENV
- INNGEST_EVENT_KEY
- INNGEST_LOG_LEVEL
- INNGEST_SERVE_HOST
- INNGEST_SERVE_PATH
- INNGEST_SIGNING_KEY
- INNGEST_STREAMING
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.