Packages
@argus/docs-server
Static serving for the site you are reading. It exists so the documentation ships inside the same immutable image as the service — a docs-only container starts with zero configuration, and the docs version always matches the deployed build.
Place in the system
The smallest package: fastify + @fastify/static over docs-site/dist
(built by npm run docs:build), plus GET /health returning
{status, version, gitSha} from serviceVersion(). Depends only on
@argus/shared. The composition root is bin/argus-docs.ts; the port is
DOCS_PORT, else PORT, else 4100; the directory is DOCS_SITE_DIR
(default docs-site/dist).
Key exports
One builder: buildDocsServer({ root, logger }) — deliberately no
ArgusConfig, no ADO/queue/DB env.
How it's tested
server.test.ts boots the server over a temp directory: static file
serving, 404 handling, and the /health payload.
Running it
npm run docs:build # gen-config + render markdown → docs-site/dist
npm run docs:serve # what production runs: build + serve on :4100
In deployment it is a CMD override of the one Argus image
(node bin/dist/argus-docs.js) — see Deployment.
