Docs Deployment
Applies to: Both
Documentation Deployment & Access (Cloudflare)
Overview
- Static docs site built with Docusaurus under
docs/site. - Cloudflare Pages deploys preview builds for PRs and production builds on develop/main.
- Cloudflare Zero Trust (Access) protects the Pages URL; only approved emails/SSO may view.
Local Development
cd docs/sitenpm cinpm run start- Open
http://localhost:3000
CI/CD (GitHub Actions → Cloudflare Pages)
- Workflow file:
.github/workflows/docs-pages.yml - Required GitHub Secrets:
CF_API_TOKEN(Cloudflare API token with Pages:Edit, Pages:Read)CF_ACCOUNT_ID(Cloudflare account ID)CF_PAGES_PROJECT_NAME(Cloudflare Pages project slug)
Cloudflare Pages Setup
- Create a Pages project (build command
npm run build, build dirdocs/site/build, working dirdocs/site). - Connect to this GitHub repo or use the GitHub Action provided.
Zero Trust (Cloudflare Access)
- Enable Zero Trust for the Pages domain (or custom domain).
- Create an Access Policy:
- Action: Allow
- Include: Emails in list (developers) or SSO group
- Exclude: (optional) Everyone else
- (Optional) Create distinct policies for preview vs production URLs.
Preview URLs
- PRs create preview deployments automatically.
- You can enforce Access on
*.pages.devor a custom subdomain likedocs-preview.example.com.
Docs Linting
- Workflow:
.github/workflows/docs-lint.ymlchecks for broken links indocs/on PRs.