Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RUST_LOG | No | Logging level filter (e.g., RUST_LOG=docdexd=debug). | |
| DOCDEX_CHROOT | No | (Unix) Chroot into path before serving; repo/state paths must exist inside that jail. | |
| DOCDEX_TLS_KEY | No | Serve HTTPS with the provided key file path. | |
| DOCDEX_TLS_CERT | No | Serve HTTPS with the provided cert file path. | |
| DOCDEX_ALLOW_IPS | No | Optional comma-separated IPs/CIDRs allowed to reach the HTTP API (default: loopback-only in secure mode; allow all when secure mode is disabled). | |
| DOCDEX_MAX_LIMIT | No | Clamp HTTP limit to at most n (default: 8). | |
| DOCDEX_STATE_DIR | No | Override index storage path (relative paths are resolved under repo). | |
| DOCDEX_ACCESS_LOG | No | Emit minimal structured access logs with query values redacted (default: true). | |
| DOCDEX_AUTH_TOKEN | No | Bearer token required in secure mode (default); omit only when starting with --secure-mode=false. | |
| DOCDEX_RUN_AS_GID | No | (Unix) Drop privileges to the provided GID after startup prep. | |
| DOCDEX_RUN_AS_UID | No | (Unix) Drop privileges to the provided UID after startup prep. | |
| DOCDEX_REQUIRE_TLS | No | Default true. Enforce TLS for non-loopback binds; set to false when TLS is already terminated by a trusted proxy. | |
| DOCDEX_SECURE_MODE | No | Default true; when enabled, requires an auth token, loopback allowlist by default, and default rate limiting (60 req/min). | |
| DOCDEX_UNSHARE_NET | No | (Linux only) Unshare the network namespace before serving (requires CAP_SYS_ADMIN/root); no-op on other platforms. | |
| DOCDEX_EXCLUDE_DIRS | No | Extra directory names to skip anywhere in the tree (comma-separated). | |
| DOCDEX_AUDIT_DISABLE | No | Disable audit logging entirely. | |
| DOCDEX_DOWNLOAD_REPO | No | If you publish from a fork, set DOCDEX_DOWNLOAD_REPO=<owner/repo> before installing so the downloader fetches your release assets. | |
| DOCDEX_INSECURE_HTTP | No | Allow plain HTTP on non-loopback binds even when TLS is enforced (only use behind a trusted proxy). | |
| DOCDEX_AUDIT_LOG_PATH | No | Write audit log JSONL to this path (default: <state-dir>/audit.log). | |
| DOCDEX_CERTBOT_DOMAIN | No | Point TLS at /etc/letsencrypt/live/<domain>/{fullchain.pem,privkey.pem} (Certbot). Conflicts with manual --tls-*. | |
| DOCDEX_AUDIT_MAX_BYTES | No | Rotate audit log after this many bytes (default: 5_000_000). | |
| DOCDEX_AUDIT_MAX_FILES | No | Keep at most this many rotated audit files (default: 5). | |
| DOCDEX_MAX_QUERY_BYTES | No | Reject requests whose query string exceeds n bytes (default: 4096). | |
| DOCDEX_MCP_MAX_RESULTS | No | Clamps docdex_search results (min 1). | |
| DOCDEX_CERTBOT_LIVE_DIR | No | Use a specific Certbot live dir containing fullchain.pem and privkey.pem. | |
| DOCDEX_EXCLUDE_PREFIXES | No | Extra relative prefixes to skip (comma-separated). | |
| DOCDEX_RATE_LIMIT_BURST | No | Optional burst capacity for the rate limiter (defaults to per-minute limit when 0). | |
| DOCDEX_MAX_REQUEST_BYTES | No | Reject requests whose Content-Length or size hint exceeds n bytes (default: 16384). | |
| DOCDEX_RATE_LIMIT_PER_MIN | No | Per-IP request budget per minute (default 60 in secure mode when unset/0; 0 disables when secure mode is off). | |
| DOCDEX_STRIP_SNIPPET_HTML | No | Omit snippet.html in responses to force text-only snippets (HTML is sanitized by default when present). | |
| DOCDEX_DISABLE_SNIPPET_TEXT | No | Omit snippet text/html in responses entirely (only doc metadata is returned). |
Schema
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
No tools | |