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.