Skip to content

Self-host console

The self-host console verifies that the standalone Docker image contains everything required to run the Nuxt/NFZ application and rebuild the VitePress documentation from the administration UI.

It is available at:

txt
/admin/selfhost

Why this page exists

In self-host mode, the application does not only serve the Nuxt build. It must also be able to run a hot VitePress build when the administrator clicks Build docs.

The runtime container must therefore include:

  • .output for the Nuxt/Nitro application;
  • docs/ for the commercial VitePress sources;
  • user-guide/ for the public user guide;
  • scripts/prepare-docs-build.ts and scripts/finalize-docs-build.ts;
  • services/_shared/docs-inline-images.ts and services/_shared/docs-media.ts;
  • node_modules/.bin/vitepress;
  • uncrypto under .output/server/node_modules/uncrypto for Bun/Nitro/h3.

Displayed checks

The Readiness tab lists the critical files and folders available in the Docker runtime. A missing item means the Dockerfile does not yet copy a dependency required by the documentation build.

The Commands tab lists the no-cache rebuild, logs and diagnostic commands.

The Self-host flow tab summarizes the full path: local authentication, Markdown editing, hot build and publication under /docs.

After changing the self-host Dockerfile or a documentation build dependency:

bash
docker compose -f docker-compose.selfhost.yml down
docker compose -f docker-compose.selfhost.yml build --no-cache nfz-docs-builder
docker compose -f docker-compose.selfhost.yml up -d

To follow the runtime logs:

bash
docker logs -f vpb-selfhosting-nfz-docs-builder-1

To validate the archive locally before building the Docker image:

bash
bun run diagnose:selfhost-runtime-build
bun run doctor:docs

Best practices

Do not remove the runtime copies of scripts/, services/, node_modules/, docs/ and user-guide/ from the Dockerfiles. They are required for the VitePress build launched from the already running application.

Do not replace the self-host mode with a remote NFZ License Server check: the offline self-host edition must remain usable without a license network call, with local public/private key validation.

Public user guide generated with VitePress.