Docusaurus
Start from CLI: Scaffold a Docusaurus project on Workers, and pick your template.
npm create cloudflare@latest -- my-docusaurus-app --framework=docusaurus yarn create cloudflare my-docusaurus-app --framework=docusaurus pnpm create cloudflare@latest my-docusaurus-app --framework=docusaurus Or just deploy: Create a documentation site with Docusaurus and deploy it on Cloudflare Workers, with CI/CD and previews all set up for you.
Docusaurus ↗ is an open-source framework for building, deploying, and maintaining documentation websites. It is built on React and provides an intuitive way to create static websites with a focus on documentation.
Docusaurus is designed to be easy to use and customizable, making it a popular choice for developers and organizations looking to create documentation sites quickly.
-
Create a new project with the create-cloudflare CLI (C3).
npm create cloudflare@latest -- my-docusaurus-app --framework=docusaurus --platform=workersyarn create cloudflare my-docusaurus-app --framework=docusaurus --platform=workerspnpm create cloudflare@latest my-docusaurus-app --framework=docusaurus --platform=workersWhat's happening behind the scenes?
When you run this command, C3 creates a new project directory, initiates Docusaurus' official setup tool ↗, and configures the project for Cloudflare. It then offers the option to instantly deploy your application to Cloudflare.
-
Develop locally.
After creating your project, run the following command in your project directory to start a local development server.
npm run devyarn run devpnpm run dev -
Deploy your project.
Your project can be deployed to a *.workers.dev subdomain or a Custom Domain, from your local machine or any CI/CD system, (including Workers Builds).
Use the following command to build and deploy your project. If you're using a CI service, be sure to update your "deploy command" accordingly.
npm run deployyarn run deploypnpm run deploy
If your Docusaurus project is entirely pre-rendered (which it usually is), follow these steps:
-
Add a Wrangler configuration file.
In your project root, create a Wrangler configuration file with the following content:
JSONC {"name": "my-docusaurus-app",// Update to today's date// Set this to today's date"compatibility_date": "2026-04-03","assets": {"directory": "./build"}}TOML name = "my-docusaurus-app"# Set this to today's datecompatibility_date = "2026-04-03"[assets]directory = "./build"What's this configuration doing?
The key part of this config is the
assetsfield, which tells Wrangler where to find your static assets. In this case, we're telling Wrangler to look in the./builddirectory. If your assets are in a different directory, update thedirectoryvalue accordingly. Refer to other asset configuration options.Also note how there's no
mainfield in this config - this is because you're only serving static assets, so no Worker code is needed for on demand rendering/SSR. -
Build and deploy your project.
You can deploy your project to a
*.workers.devsubdomain or a custom domain from your local machine or any CI/CD system (including Workers Builds). Use the following command to build and deploy. If you're using a CI service, be sure to update your "deploy command" accordingly.npx docusaurus buildyarn docusaurus buildpnpm docusaurus buildnpx wrangler@latest deployyarn wrangler@latest deploypnpm wrangler@latest deploy
Bindings are a way to connect your Docusaurus project to other Cloudflare services, enabling you to store and retrieve data within your application.
With bindings, your application can be fully integrated with the Cloudflare Developer Platform, giving you access to compute, storage, AI and more.