nexus-docs
This documentation site. Built with Docusaurus 3 + Tailwind v4, deployed as static HTML behind nginx.
Structure
nexus-docs/
docs/ reference docs (autogenerated sidebar)
guides/ walkthroughs (separate docs plugin)
blog/ release notes
src/ landing page + theme
static/ assets
docusaurus.config.js
Dockerfile multi-stage build → nginx
nginx.conf
Public vs internal build
A single source tree produces two artifacts. Everything under
docs/_internal/** is excluded from the public build:
pnpm build:public # public artifact (no _internal/**)
pnpm build:internal # full artifact, gated at the hosting layer
The exclusion is driven by docusaurus.config.js:
const isPublicBuild = process.env.BUILD_PUBLIC === "true";
const internalDocsExclude = isPublicBuild ? ["**/_internal/**"] : [];
Run locally
pnpm install
pnpm start
Deploy
The Dockerfile builds the static site and serves it from
nginxinc/nginx-unprivileged. CI builds both the public and internal variants
and bumps image tags in nexus-gitops.
Related
- nexus-gitops — deployment
- The
_internalconvention — see the internal docs README