Sign inSign up

timothyswan/defectdojo-docs-builder

By timothyswan

Updated 4 months ago

defectdojo-docs-builder — combined Hugo + Node image for building DefectDojo's self-hosted docs

Image
0

1.3K

timothyswan/defectdojo-docs-builder repository overview

A build-time helper image: the rebased hugo-source static-site generator (Tier 1 Go from source, extended via CGO + bundled libsass) layered onto hi/nodejs:24.15-builder. It renders DefectDojo's self-hosted documentation tarball, which the host nginx serves at /docs/ (see docs/defectdojo-deploy-runbook.md Step 9.5). v1.58.8 switched from the Tier 2 hugo binary to hugo-source — supply-chain control over the Go stdlib version, eliminating the CVE-lag inherited from upstream-binary releases. See README.md for the full version history.

Why combined

DefectDojo's upstream docs use the Doks theme (Thulite). The theme's CSS pipeline routes through Hugo's resources.PostProcess, which shells out to PostCSS via npx — so the Hugo binary needs node and npm on PATH at build time. A standalone Hugo image cannot run the build alone; this image carries both, with Hugo copied on top of the Node builder base.

Usage

A deploy-time tool, not a runtime service. The operator mounts the DefectDojo docs source and runs the two-step build:

podman run --rm --user 0 -v "$DOCS_SRC:/src:Z" -w /src \
  <docs-builder-image> bash -c 'npm ci && hugo --minify --gc'

Output lands at $DOCS_SRC/public/. There is no ENTRYPOINT — the build command is passed directly.

Supply chain

  • Bases: hi/nodejs:24.15-builder (runtime) plus the rebased hugo-source image as a builder stage. Both are ARGs (HUGO_IMAGE / NODEJS_IMAGE), overridable for the air-gapped phases.
  • Built by the build:docs-builder CI job.
  • Signed: cosign key-only signature with the internal CI key (no Rekor transparency log).

Tag summary

Content type

Image

Digest

sha256:3ced15eb4

Size

103.8 MB

Last updated

4 months ago

docker pull timothyswan/defectdojo-docs-builder:latest-rhhi