Je hebt Javascript nodig om deze website te kunnen gebruiken. Pas je browserinstellingen in om verder te gaan!
Guides

Deployment

Deploy Docus Plus as a Node server or Cloudflare Worker and configure the supported cache storage.

Docus Plus supports two server deployment paths: a Nitro Node server and a Cloudflare Worker. Choose the path at build time with NITRO_PRESET; static generation is not supported.

Choose a runtime

RuntimeBuild outputCache storage in production
node-serverA Nitro Node serverRedis/Valkey when configured; otherwise in-memory storage
cloudflare_moduleA Cloudflare WorkerCloudflare KV

Set the runtime explicitly in the environment that builds the application:

envs/.env.production
NITRO_PRESET=node-server
NUXT_PUBLIC_SITE_URL=https://docs.example.com

The layer defaults to node-server when NITRO_PRESET is not set, but declaring it makes the deployment contract visible in your environment configuration.

Deploy a Node server

Build the Node target and run the generated Nitro entry point:

NITRO_PRESET=node-server pnpm build
node .output/server/index.mjs

Configure your platform to provide the production environment variables at build and runtime. At a minimum, include the required core variables such as NUXT_PUBLIC_SITE_URL, API_TOKEN, NUXT_OG_IMAGE_SECRET, and MISTRAL_API_KEY when those layer features remain enabled.

Configure Node cache storage

For a persistent cache that can be shared by multiple Node instances, provide Redis or Valkey connection settings. The URL form is the shortest configuration:

envs/.env.production
REDIS_URL=rediss://default:YOUR_REDIS_PASSWORD@redis.example.com:6380

If your provider does not supply a URL, configure REDIS_HOST, REDIS_USERNAME, and REDIS_PASSWORD. You may also set REDIS_PORT (defaults to 6379), REDIS_DB (defaults to 0), REDIS_TLS, and REDIS_TLS_REJECT_UNAUTHORIZED. Do not set REDIS_TLS_REJECT_UNAUTHORIZED=false unless your provider requires it.

When no Redis settings are present, Docus Plus uses its supported in-memory cache driver. It does not persist across process restarts and is not shared by replicas, so use Redis or Valkey for a production deployment with more than one instance or where cache durability matters.

Deploy a Cloudflare Worker

Set NITRO_PRESET=cloudflare_module and configure the Cloudflare values before building:

envs/.env.production
NITRO_PRESET=cloudflare_module
NUXT_PUBLIC_SITE_URL=https://docs.example.com
CLOUDFLARE_WORKER_NAME=example-docs
CLOUDFLARE_ACCOUNT_ID=YOUR_ACCOUNT_ID
CLOUDFLARE_CACHE_NAMESPACE_ID=YOUR_CACHE_NAMESPACE_ID
CLOUDFLARE_KV_API_TOKEN=cfat_YOUR_TOKEN

Build with the Cloudflare target, then use your normal Cloudflare deployment workflow for the generated Worker output:

NITRO_PRESET=cloudflare_module pnpm build

The layer generates the Worker configuration, including a CACHE binding to CLOUDFLARE_CACHE_NAMESPACE_ID. The API token needs Cloudflare KV namespace read and write access. The cache module also uses this token to remove multiple cache keys through the Cloudflare API, because KV bindings do not support bulk deletion.

Cloudflare KV is the only supported cache storage for cloudflare_module. Do not configure Redis variables for this target; the Worker uses the CACHE KV binding instead.

Verify the deployment

After deploying, check the public system endpoints before routing traffic:

curl --fail https://docs.example.com/api/system/ping
curl --fail https://docs.example.com/api/system/health

The first command returns pong. The second verifies that the selected cache backend can write, read, and remove a value; it returns HTTP 503 if that check fails. See Server Utils to configure cache invalidation, endpoint authentication, and health thresholds.

Keep in touch with the latest

Sign up for our monthly deep dives - straight to your inbox.