---
title: Docs hosting
description: Build this Blume site — landing page and docs — for Vercel, Cloudflare Pages, Cloudflare Workers, or another static host.
sidebar:
  label: Docs hosting
  order: 6
---

## Docs hosting

The site is a single Blume build: the marketing pages live in `pages/` (custom .astro routes served at `/`, `/help`, `/support`, `/privacy`, `/terms`) and the documentation lives under `/docs/*` (content in `docs/docs/`). The workflow at `.github/workflows/deploy-docs.yml` builds and checks the site whenever `main` changes. It does not deploy the result, so the repository can remain independent of a hosting provider and its account requirements.

## Local build

```bash
pnpm docs:build
pnpm docs:preview
```

The docs build uses `.blume-verify/dist` so it does not collide with the MCP server's TypeScript output in `dist/`.

## Vercel deployment

The repository root carries a `vercel.json` for the Vercel project:

- Build command: `pnpm docs:build`
- Output directory: `.blume-verify/dist`

`BLUME_SITE` and `BLUME_BASE_PATH` can be set in the Vercel project environment to control the canonical site URL (e.g. `https://securemcp.dev`) and mount point.

## Cloudflare Pages deployment

Create a Pages project connected to this repository (or upload the build output) with:

- Build command: `pnpm docs:build`
- Output directory: `.blume-verify/dist`

With a custom domain, set the project environment variables so canonical URLs,
sitemap, and `llms.txt` point at the site:

| Variable | Value |
| --- | --- |
| `BLUME_SITE` | `https://mcp.branalytic.com` |
| `BLUME_BASE_PATH` | (empty) |

A Cloudflare Workers site can consume the same static output through its chosen Workers Static Assets configuration.

## Custom domains and forks

Set `BLUME_SITE` and `BLUME_BASE_PATH` in the hosting build environment if you use a custom domain or a different mount point:

```yaml
env:
  BLUME_SITE: https://docs.example.com
  BLUME_BASE_PATH: ""
```

The output is fully static: HTML pages with canonical URLs (when `BLUME_SITE` is set), a client-side search index (`blume-search.json`), a 404 page, and raw Markdown copies of every page for AI-readable consumption. No MCP server configuration or repository access is needed to build the documentation site.
