Skip to content

Latest commit

 

History

History
88 lines (63 loc) · 2.93 KB

File metadata and controls

88 lines (63 loc) · 2.93 KB

daemonless.io

Documentation site for the daemonless FreeBSD container project.

Built with MkDocs and Material for MkDocs.

Local Development

The documentation for both image repositories and the dbuild tool is dynamically generated from source code and metadata.

Prerequisites

# Install dependencies
pip install -r requirements.txt

Build Workflow

A Makefile is provided to manage the generation and build process:

# 1. Clone or update all image repositories (as siblings of daemonless-io/)
#
# generate_docs.py reads compose.yaml from each image repo to generate
# the images index and per-image docs. All repos must exist as siblings
# of daemonless-io/ (e.g. ../radarr, ../traefik, ../dbuild).
# Uses the GitHub public API — no authentication required.
make fetch

# 2. Generate all dynamic documentation
# Runs image doc generators and dbuild guide templates
make generate

# 3. Build the static site
make build

# Or do everything at once:
make all

Serve Locally

To run the development server with auto-reload:

make serve

The site will be available at http://localhost:8888 (or http://saturn:8888).

Automated Documentation

The site structure is partially automated:

  1. Image Docs: scripts/generate_docs.py reads compose.yaml and x-daemonless metadata from each image repository to generate docs/images/*.md.
  2. dbuild Guides: scripts/dbuild_guide.py uses Jinja2 templates in scripts/templates/ to generate the command reference and configuration guides directly from the dbuild source code.
  3. Architecture: scripts/generate-architecture.py generates the Mermaid-based architecture diagrams.

Deployment

The site auto-deploys to GitHub Pages on every push to main via Woodpecker CI.

Site Structure

.
├── Makefile                # Unified build entry point
├── mkdocs.yaml             # MkDocs configuration
├── requirements.txt        # Python dependencies
├── docs/
│   ├── index.md            # Homepage
│   ├── images/             # Generated image documentation
│   ├── guides/             # Manual and generated guides
│   │   └── dbuild/         # Generated dbuild engine guides
│   └── assets/             # Images, logos, and favicons
├── scripts/                # Documentation generators
│   ├── templates/          # Jinja2 templates for guides
│   ├── generate_docs.py    # Image doc generator
│   └── dbuild_guide.py     # dbuild guide generator
└── overrides/              # Material for MkDocs theme overrides

Community