Deployment
Ship your Beacon site as static files to any host.
Beacon builds to plain static HTML, CSS, and JS. Any static host works — there’s no server to run.
Build output
npm run build
The result lands in dist/. Point any static host at that folder.
Set your site URL
Before deploying, set the canonical URL in src/config/site.ts. It’s used for the sitemap, RSS feed, canonical tags, and Open Graph links:
// src/config/site.ts
export const SITE = {
url: "https://docs.yourcompany.com",
// ...
};
Netlify
Connect the repo and use:
- Build command:
npm run build - Publish directory:
dist
Vercel
Import the project; Vercel detects Astro automatically. If prompted:
- Build command:
npm run build - Output directory:
dist
Cloudflare Pages
- Build command:
npm run build - Build output directory:
dist
GitHub Pages
Build in CI and publish dist/ to the gh-pages branch:
- run: npm ci && npm run build
- uses: actions/upload-pages-artifact@v3
with:
path: dist
If you serve from a sub-path (e.g.
username.github.io/repo), setbaseinastro.config.mjsaccordingly.
A note on search
Beacon’s search uses a static JSON index generated at build time, so it works on any host with zero extra steps. If you later want full-text search across page bodies, you can layer Pagefind on top — but it’s entirely optional, and the default build never depends on it.
That’s the whole pipeline: npm run build, upload dist/, done.