dynamo/docs
Keiven C 194128ec89
docs: fix tracing doc ZMQ port conflict (#5200)
Signed-off-by: Keiven Chang <keivenchang@users.noreply.github.com>
Co-authored-by: Keiven Chang <keivenchang@users.noreply.github.com>
2026-01-06 11:32:53 -08:00
..
_extensions chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
_includes docs: move all md files from components to docs (#3440) 2025-10-10 03:39:26 +00:00
_sections feat: add scaling adapter (#4699) 2025-12-09 15:25:06 +00:00
_static docs: Add sphinx-theme based userguides (#528) 2025-05-21 22:41:34 +08:00
agents chore: jamba based parsers (#4776) 2025-12-08 21:12:18 +00:00
api/nixl_connect chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
backends fix: remove old docs and unify model paths (#5179) 2026-01-05 19:27:44 +00:00
benchmarks chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
design_docs chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
development chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
examples docs: fail build on warnings and fix existing warns (#3342) 2025-10-01 12:48:31 -04:00
fault_tolerance feat: Request Migration Metrics (#5029) 2025-12-19 12:22:36 -08:00
frontends feat: add auto-generated frontend OpenAPI spec and helper binary (#4802) 2025-12-22 21:45:03 +00:00
guides chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
images feat: Add CPU metrics to Grafana Dynamo Dashboard (#3908) 2025-10-27 22:43:21 +00:00
kubernetes chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
kvbm chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
multimodal chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
observability docs: fix tracing doc ZMQ port conflict (#5200) 2026-01-06 11:32:53 -08:00
performance chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
planner chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
reference chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
router chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
Makefile chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
README.md docs: Adding redirects (#3965) 2025-10-29 17:41:14 -04:00
conf.py chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
exclusions.txt chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
generate_docs.py chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
hidden_toctree.rst fix: remove old docs and unify model paths (#5179) 2026-01-05 19:27:44 +00:00
index.rst chore: update all copyright headers in repo to 2026 (#5130) 2026-01-02 22:08:23 +00:00
project.json docs: consolidate multimodal docs (#4842) 2025-12-16 02:08:58 +00:00
repositories.txt docs: Add sphinx-theme based userguides (#528) 2025-05-21 22:41:34 +08:00

README.md

orphan
true

Building Documentation

This directory contains the documentation source files for NVIDIA Dynamo.

Prerequisites

  • Python 3.11 or later
  • uv package manager

Build Instructions

This approach builds the docs without requiring the full project dependencies (including ai-dynamo-runtime):

# One-time setup: Create docs environment and install dependencies
uv venv .venv-docs
uv pip install --python .venv-docs --group docs

# Generate documentation
uv run --python .venv-docs --no-project docs/generate_docs.py

The generated HTML will be available in docs/build/html/.

Option 2: Using Full Development Environment

If you already have the full project dependencies installed (i.e., you're actively developing the codebase), you can use uv run directly:

uv run --group docs docs/generate_docs.py

This will use your existing project environment and add the docs dependencies.

Option 3: Using Docker

Build the docs in a Docker container with all dependencies isolated:

docker build -f container/Dockerfile.docs -t dynamo-docs .

The documentation will be built inside the container. To extract the built docs:

# Run the container and copy the output
docker run --rm -v $(pwd)/docs/build:/workspace/dynamo/docs/build dynamo-docs

# Or create a container to copy files from
docker create --name temp-docs dynamo-docs
docker cp temp-docs:/workspace/dynamo/docs/build ./docs/build
docker rm temp-docs

This approach is ideal for CI/CD pipelines or when you want complete isolation from your local environment.

Directory Structure

  • docs/ - Documentation source files (Markdown and reStructuredText)
  • docs/conf.py - Sphinx configuration
  • docs/_static/ - Static assets (CSS, JS, images)
  • docs/_extensions/ - Custom Sphinx extensions
  • docs/build/ - Generated documentation output (not tracked in git)

Redirect Creation

When moving or renaming files a redirect must be created.

Redirect entries should be added to the redirects dictionary in conf.py. For detailed information on redirect syntax, see the sphinx-reredirects usage documentation.

Dependency Management

Documentation dependencies are defined in pyproject.toml under the [dependency-groups] section:

[dependency-groups]
docs = [
    "sphinx>=8.1",
    "nvidia-sphinx-theme>=0.0.8",
    # ... other doc dependencies
]

Troubleshooting

Build Warnings

The build process treats warnings as errors. Common issues:

  • Missing toctree entries: Documents must be referenced in a table of contents
  • Non-consecutive headers: Don't skip header levels (e.g., H1 → H3)
  • Broken links: Ensure all internal and external links are valid

Missing Dependencies

If you encounter import errors, ensure the docs dependencies are installed:

uv pip install --python .venv-docs --group docs

Viewing the Documentation

After building, open docs/build/html/index.html in your, or use Python's built-in HTTP server:

cd docs/build/html
python -m http.server 8000
# Then visit http://localhost:8000 in your browser