From source
For local authoring or self-hosting without Docker, run open-docs directly. Bun is the package manager and runtime.
Develop
bun install
bun run dev
Put your .md / .markdoc files in src/content/ and the dev server hot-reloads on save. Set any PUBLIC_* variable inline to preview branding:
PUBLIC_BRAND_NAME="My Project" bun run dev
Build and preview
bun run build # production build → ./build/
bun run preview # serve the built site
The build pre-renders every page to static HTML, then runs Pagefind over the output to produce the search index.
Make targets
A Makefile wraps the common commands:
| Command | Does |
|---|---|
make install | Install dependencies. |
make dev | Dev server with hot reload. |
make check | Type-check with svelte-check. |
make build | Production build into ./build/. |
make preview | Serve the production build. |
make docker | Build the container image locally. |
Hosting the output
The build produces a static site plus a small Bun server. Pre-rendered HTML means it also hosts cleanly on static/CDN platforms — point your host at the build output and serve it like any static site.