Skip to content

Deploy to Production

Because a pack builds to plain static files, you can host it on any static provider. Pick the platform you use and point it at the build command and the dist/ output.

  1. Set site and base in astro.config.mjs to match your Pages URL:

    astro.config.mjs
    export default defineConfig({
    site: 'https://my-org.github.io',
    base: '/my-pack',
    integrations: [starlight({ plugins: [nebari()] })],
    });
  2. Add a workflow that builds and uploads the artifact:

    .github/workflows/deploy.yml
    - run: npm ci && npm run build
    - uses: actions/upload-pages-artifact@v3
    with:
    path: dist
  3. Enable Pages in the repo settings with source GitHub Actions.

Serving under a subpath Common for packs

Section titled “Serving under a subpath ”

Packs are often published together under one domain, e.g. packs.nebari.dev/my-pack. When that’s the case:

  1. Build with the matching base: astro build --base /my-pack.

  2. Set logoHref to the portal root so the logo returns users to the index:

    nebari({ logoHref: 'https://packs.nebari.dev/' });
  3. Confirm assets resolve by checking the built HTML references the base — every href/src should start with /my-pack/.

  1. npm run build completes with no broken-link warnings.

  2. npm run preview renders correctly and search returns results.

  3. bunx playwright test (or your equivalent) passes the theme, search, and accessibility checks.