Configuration
Configure Docket via YAML and environment variables.
Configuration
Docket is configured through config/defaults.yaml (shipped) and
config/config.yaml (your overrides, gitignored).
Priority
defaults.yaml— built-in defaultsconfig.yaml— user overridesDOCKET_*environment variables- CLI arguments (future)
Environment variables
Any config value can be overridden via DOCKET_{PATH}:
DOCKET_ADAPTERS_LLM_DEFAULT=openai
DOCKET_SERVER_PORT=8080
DOCKET_MEMORY_MODE=rich
You can also use interpolation in YAML:
adapters:
llm:
providers:
kimi:
config:
apiKey: "${DOCKET_KIMI_API_KEY:-}"
Key sections
Server
server:
port: 3000
host: "127.0.0.1"
Logging
logging:
level: "info" # debug | info | warn | error
format: "pretty" # pretty | json
Memory mode
memory:
mode: "flat" # flat | rich
See Memory Modes for the full rich-mode config.
RBAC
memory:
rbac:
enabled: false
authStrategy: "header" # header | jwt | apiKey
principalHeader: "X-Principal"
defaultPolicy: "owner-only"
apiKeys:
"dk_abc123": "user:alice"
policies:
team:
readers: ["user:alice", "user:bob"]
writers: ["user:alice"]
When enabled, every request to the data plane must identify a principal. Memories created without an explicit owner are assigned to the current principal. See RBAC for details.
Adapters
Each adapter category has a default and a map of providers:
adapters:
llm:
default: "ollama"
providers:
ollama:
adapter: "@docket/llm-ollama"
config:
baseUrl: "http://localhost:11434"
model: "llama3.2"
Supported categories: llm, embedder, store, blob, queue.
Generate your config visually
Prefer a point-and-click setup? The Config Builder lets you drag
adapters onto a canvas, fill in optional settings, and download a complete docket.yaml
plus .env.example and setup steps.
Full reference
See config/defaults.yaml in the repo for every option and default value.