Skip to content

Configuration

All configuration is via environment variables.

Var Default Meaning
PORT 8765 MCP + health + dashboard port
HOST 127.0.0.1 Bind address; Docker compose overrides this inside the container
AUTH_TOKEN empty Bearer token for /mcp and /api; required when binding off loopback
DB_PATH /data/registry.db SQLite file (on the writable volume)
Var Default Meaning
SCAN_ROOTS (SCAN_DIRS) /skills Comma-separated scan roots; auto discovers all local volumes
MAX_DEPTH 20 Max crawl recursion depth
SCAN_ON_BOOT true false serves the persisted index instantly without re-crawling
Var Default Meaning
MODEL_ID Xenova/all-MiniLM-L6-v2 Embedding model (must match EMBED_DIM)
EMBED_DIM 384 Vector dimension (must match the model)
ALLOW_REMOTE_MODELS 0 1 lets the model download at runtime

These default to off/empty — Quartermaster refuses the corresponding operation until you opt in. See the security model for the full picture.

Var Default Meaning
HYDRATION_ROOTS empty Allow-list of roots apply_hydration may write under
PACK_OUTPUT_ROOTS empty Allow-list of roots materialize_pack may write under (empty = refused)
ALLOW_NETWORK_UPDATES unset (off) Master gate for any network resolver call
UPSTREAM_FETCH_TIMEOUT_MS 5000 Timeout for a single upstream request
MAX_UPSTREAM_FILES 200 Cap on files in a fetched upstream snapshot
MAX_UPSTREAM_BYTES 2097152 Cap on total bytes in a fetched upstream snapshot

Something not behaving? See Troubleshooting.