Configuration
Dynoxide is configured entirely through CLI flags and environment variables. No config files.
Storage
By default, Dynoxide runs in-memory. Everything disappears when the process stops. For persistent storage, pass a file path:
dynoxide --db-path data.db
The file is a standard SQLite database. You can inspect it with any SQLite tool.
Encryption
Dynoxide supports at-rest encryption via SQLCipher. You'll need the encrypted build:
cargo install dynoxide-rs --no-default-features --features encrypted-full
Then provide a key (64-character hex string):
openssl rand -hex 32 > key.hex
dynoxide --db-path data.db --encryption-key-file key.hex
Or via environment variable:
DYNOXIDE_ENCRYPTION_KEY=$(cat key.hex) dynoxide --db-path data.db
Network
| Flag | Default | Description |
|---|---|---|
--host |
127.0.0.1 |
Bind address |
--port |
8000 |
HTTP port |
To listen on all interfaces (useful in Docker or CI):
dynoxide --host 0.0.0.0
MCP co-hosting
You can run the HTTP server and MCP server together:
dynoxide --mcp
dynoxide --mcp --mcp-port 19280 --mcp-read-only
The MCP server shares the same database instance as the HTTP server.
Data model (OneTable)
If you're using a single-table design, pass a OneTable schema to give the MCP server context about your entities:
dynoxide mcp --data-model schema.json
This doesn't affect how Dynoxide stores or validates data - it's purely informational context for the agent. The schema tells the agent things like entity names, key templates, and which GSI maps to which entity.
For the full list of options, run dynoxide --help or see the README.