Skip to main content

Cloudflare deployment

The docs site is a static Docusaurus build published by Cloudflare Pages.

Pages settings

SettingValue
Production branchtemporal-rust-api-merge
Root directorydocs/site
Build commandnpm ci && npm run build
Build output directorybuild
Custom domaindocs.igdrasil.se

docs/site/wrangler.toml also declares pages_build_output_dir = "build" so the Pages output path is visible from the Docusaurus project root.

Access policy

While the site is internal, protect docs.igdrasil.se with Cloudflare Access. Allow only the team identity provider group or email domain that should read the docs.

Also enable Access for Pages preview deployments so branch previews are not public by default.

404 after deploy

If the deployment log says this, Cloudflare did not build the Docusaurus site:

No build command specified. Skipping build step.

That deployment uploads repository files instead of the generated build/ directory, so the Pages URL returns 404 because there is no generated index.html.

Fix the Pages project settings, then retry the deployment:

  • Root directory: docs/site
  • Build command: npm ci && npm run build
  • Build output directory: build

MkDocs command failure

If the deployment log still runs this command, the Cloudflare Pages dashboard is using the old MkDocs settings:

pip install -r docs/requirements.txt && mkdocs build --strict

That command is stale. docs/requirements.txt was removed when Docusaurus became the single docs generator. Update the Pages project to the Docusaurus settings above and retry the deployment.

Public launch

Before making docs.igdrasil.se public:

  • Confirm every page under docs/site/docs is safe for public readers.
  • Remove internal-only deployment notes or move them outside the Docusaurus source.
  • Remove the Cloudflare Access policy from the production hostname.
  • Keep preview deployments protected unless public previews are intentional.

Local validation

Run the same build command Cloudflare Pages will run:

npm ci
npm run build