Skip to content
Esc
↑↓navigate↵open⌘Jpreview
On this page

Configuration

Every environment variable, binding, and endpoint of the server, with its default and the platforms it applies to.

The server reads its configuration from the Worker’s environment on Cloudflare and from process.env on every other platform. It checks the values on each request. An invalid value fails the request with a 500 error, and the server logs Invalid server configuration: followed by the reason.

Server variables

Variable Required Default Description
TURBO_TOKEN Yes None The bearer token that every client sends. Can’t be empty.
BUCKET_OBJECT_EXPIRATION_HOURS No 720 How long to keep an artifact, in whole hours. At least 1. Also the KV TTL. See Retention and expiry.

Cloudflare bindings

Bindings exist only on Cloudflare Workers.

Binding Type Description
KV_STORE KV namespace Stores artifacts in Workers KV. Wins over R2_STORE.
R2_STORE R2 bucket Stores artifacts in R2.

S3 variables

Setting S3_BUCKET turns on S3-compatible storage. The server uses it only when no custom adapter and no binding is configured.

Variable Required Default Description
S3_BUCKET Yes, for S3 None The bucket name. Can’t be empty.
S3_ENDPOINT Yes, for S3 None The S3 API URL, such as https://s3.us-east-1.amazonaws.com. The server uses only its origin.
S3_REGION No AWS_REGION, then AWS_DEFAULT_REGION, then us-east-1 The signing region. Use auto for R2.
S3_ACCESS_KEY_ID No AWS_ACCESS_KEY_ID The access key ID.
S3_SECRET_ACCESS_KEY No AWS_SECRET_ACCESS_KEY The secret access key.
S3_SESSION_TOKEN No AWS_SESSION_TOKEN, when both keys come from AWS_* A session token for temporary credentials.
S3_FORCE_PATH_STYLE No false true sends requests to <endpoint>/<bucket> instead of <bucket>.<endpoint>.

The AWS_* fallbacks come from the process environment. The server reads no AWS profiles or SSO sessions.

Build and platform variables

Variable Applies to Description
NITRO_PRESET Build The build target, such as node_server or aws_lambda. Defaults to cloudflare_module. See Choose a platform.
PORT Node.js, Bun, and Deno The port to listen on. Defaults to 3000.
HOST Node.js, Bun, and Deno The address to bind to.
CRON_SECRET Vercel The secret that Vercel sends with cron requests. See Vercel.

A custom adapter can read any other variable you define.

Endpoints

Endpoint Auth Description
GET / None Redirects to this documentation.
GET /ping None Answers pong. Use it as a health check.
/v8/artifacts/... Bearer token The Remote Cache API. The API reference documents every operation.
POST /internal/delete-expired-objects Bearer token Runs the expiry task. See Retention and expiry.

Responses under /v8 allow requests from any origin, so a browser can call the API. Errors return a JSON body with a code and a message, such as {"code":"unauthorized","message":"Missing or invalid bearer token"}.

Was this page helpful?