Skip to content

Command Line Reference

usage: cal-docs-server [-h] [--version] [--license] [--help-config]
                       [--config PATH] [--port PORT] [--docs PATH]
                       [--gitlab-group GROUP] [--gitlab-token TOKEN]
                       [--gitlab-url URL] [--gitlab-pages-url URL]
                       [--gitlab-poll-interval SECONDS] [--gitlab-proxy]
                       [--name NAME] [--json] [--html] [--tokens PATH]
                       [--base-url URL]

cal-docs-server: 3.2.2
(c) 2025-2026 Cyber Assessment Labs. MIT License.

CAL Documentation Server - A lightweight web server for hosting versioned documentation with automatic indexing, markdown support, and a REST API for programmatic access and uploads.

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --license             show license and exit
  --help-config         show config file format and exit
  --config, -c PATH     path to JSON config file (default: ~/.config/cal-docs-
                        server/config.json). Config file options: docs, port,
                        name, tokens, base_url
  --port, -p PORT       port to listen on (default: 80)
  --docs, -d PATH       path to documentation root directory
  --gitlab-group, -g GROUP
                        GitLab group path containing Pages-hosted docs
                        projects (e.g. myorg/private/docs). Mutually exclusive
                        with --docs.
  --gitlab-token TOKEN  GitLab personal access token for the --gitlab-group
  --gitlab-url URL      GitLab instance URL (default: https://gitlab.com)
  --gitlab-pages-url URL
                        Base URL for GitLab Pages (e.g.
                        https://myorg.gitlab.io). Defaults to https://{root-
                        group}.gitlab.io
  --gitlab-poll-interval SECONDS
                        how often to poll GitLab for changes, in seconds
                        (default: 300)
  --gitlab-proxy        proxy GitLab Pages content through this server instead
                        of linking directly
  --name, -n NAME       server name displayed on index page (default:
                        Documents Server)
  --json, -j            output documentation index as JSON to stdout instead
                        of running server
  --html, -H            output index page HTML to stdout instead of running
                        server
  --tokens, -t PATH     path to JSON file containing API tokens for upload
                        authentication
  --base-url, -b URL    base URL for links in API responses (e.g.,
                        https://docs.example.com)

Configuration file: Options can be specified in a JSON config file. The server looks for ~/.config/cal-docs-server/config.json by default. Use --config to specify a different file. CLI arguments override config file values.