Skip to content

Deploy

Put the built directory on any static host — there is no Reed runtime.

Deployment is a file copy. Upload the contents of your --out directory to any static host: Cloudflare Pages, Netlify, Vercel, S3 behind a CDN, GitHub Pages, or an nginx root. There is no Reed-specific deploy step, because there is nothing of Reed’s left to run.

A Reed site does not know where it will live until you say so. Set site to the absolute origin, with no path:

json
{ "site": "https://docs.example.com" }

That one field is what turns on sitemap-index.xml, robots.txt, and absolute URLs in llms.txt. Leave it unset and those outputs are simply not written — Reed will not invent an origin for you.

If the site lives under a path rather than at the origin root, set base:

json
{ "site": "https://example.com", "base": "/docs" }

Every internal link and asset reference is then emitted with the /docs prefix — but the built files still sit at the root of your output directory. The mount path has to physically exist in the tree you serve:

served-root/
docs/ ← the contents of dist/
index.html
_headers ← stays at the root

Point a host’s asset directory straight at dist/ on a site with base: "/docs" and every URL 404s while the deploy reports success. This is the single most common base-related failure. If your host serves the directory verbatim, stage the tree first — create the mount directory and copy dist/ into it.

_headers is the exception that stays at the root: hosts read it from the top of the served directory, and its rules match served URL paths.

A deploy command exiting zero does not mean the new build is live — CDNs cache, and a misconfigured asset directory reports success while serving nothing. Fetch a page from the live origin and check that a string from this build is present:

sh
curl -s https://docs.example.com/ | grep -c "a phrase you just added"

Checking that the new string is there is worth more than checking that the old one is gone — a stale cache satisfies neither, but only the first tells you which build you are looking at.