Configuration
All configuration via environment variables. No config file required.
Server
| Variable | Type | Default | Description |
DAKERA_ROOT_API_KEY | string | — | Bootstrap root API key (super_admin scope). If unset, auth is disabled. |
DAKERA_HOST | string | 0.0.0.0 | Bind address |
DAKERA_PORT | u16 | 3300 | REST API port |
DAKERA_GRPC_PORT | u16 | 50051 | gRPC port |
RUST_LOG | string | info | Log level: trace/debug/info/warn/error |
Storage
| Variable | Default | Description |
DAKERA_STORAGE | memory | Backend: memory, filesystem, s3, minio |
DAKERA_STORAGE_PATH | ./data | Data directory for filesystem storage |
DAKERA_S3_BUCKET | — | S3 bucket name (3–63 chars) |
DAKERA_S3_REGION | — | S3 region (e.g. us-east-1) |
DAKERA_S3_ENDPOINT | — | S3-compatible endpoint URL (MinIO) |
AWS_ACCESS_KEY_ID | — | AWS / MinIO access key |
AWS_SECRET_ACCESS_KEY | — | AWS / MinIO secret key |
Embeddings
| Variable | Default | Description |
DAKERA_EMBEDDING_MODEL | MiniLML6V2 | ONNX model: MiniLML6V2, BGESmallENV15, E5SmallV2 |
DAKERA_INFERENCE_DEVICE | cpu | cpu or cuda |
Memory & decay
| Variable | Default | Description |
DAKERA_DECAY_ENABLED | true | Enable memory importance decay over time |
DAKERA_DECAY_HALF_LIFE_SECS | 604800 | Half-life for decay (default: 7 days) |
DAKERA_AUTOPILOT_ENABLED | false | Enable AutoPilot memory lifecycle management |
Retrieval tuning
| Variable | Default | Description |
DAKERA_RRF_K | 60 | Reciprocal Rank Fusion k-parameter |
DAKERA_ML_CLASSIFIER | false | Enable ML-based query classifier |
DAKERA_TEMPORAL_INFERENCE | true | Enable per-query temporal boost (requires ML_CLASSIFIER) |
DAKERA_INFERENCE_TEMPORAL_MULT_BETA | 0.65 | Multiplicative temporal scaling factor |
DAKERA_ENTITY_VECTOR_SEARCH | true | Enable entity-filtered second HNSW pass merged via RRF |
DAKERA_HNSW_CACHE_MAX | 50 | Max HNSW indexes in LRU cache |
Auth, rate limiting & observability
| Variable | Default | Description |
RATE_LIMIT_RPS | 100 | Requests per second |
RATE_LIMIT_BURST | 50 | Burst capacity |
DAKERA_AUTH_ENABLED | true | Enable API key authentication |
DAKERA_CORS_ORIGINS | * | Allowed CORS origins (comma-separated) |
DAKERA_TRACING_ENABLED | false | Enable OpenTelemetry tracing |
OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | OTLP collector endpoint |
DAKERA_AUDIT_LOG | false | Enable audit logging |
Observability & monitoring
Dakera exports OpenTelemetry traces and Prometheus metrics. Configure OTEL to send traces to Jaeger, Grafana Tempo, or any OTLP-compatible collector:
| Variable | Default | Description |
DAKERA_TRACING_ENABLED | false | Enable OpenTelemetry distributed tracing |
OTEL_EXPORTER_OTLP_ENDPOINT | http://localhost:4317 | OTLP gRPC collector endpoint (Jaeger, Tempo, etc.) |
OTEL_SERVICE_NAME | dakera | Service name in traces |
OTEL_RESOURCE_ATTRIBUTES | — | Additional resource attributes (e.g. deployment.environment=prod) |
DAKERA_METRICS_PORT | 3300 | Port serving /metrics (Prometheus format) |
Prometheus scrape config: target dakera:3300/metrics. 13 built-in metrics covering request latency, cache hit rates, vector index size, memory count, and replication lag.
Backup configuration
Scheduled backups create encrypted, compressed snapshots of all data. Backups include vector indexes, memories, knowledge graph, and configuration.
| Variable | Default | Description |
DAKERA_BACKUP_ENABLED | false | Enable scheduled automatic backups |
DAKERA_BACKUP_INTERVAL | 86400 | Backup interval in seconds (default: 24 hours) |
DAKERA_BACKUP_PATH | ./backups | Directory for backup files (local or mounted volume) |
DAKERA_BACKUP_RETENTION | 7 | Number of backup snapshots to retain |
DAKERA_BACKUP_ENCRYPT | true | AES-256 encrypt backup files (uses DAKERA_ROOT_API_KEY as KDF input) |
Backups use zstd compression (~5x reduction). Trigger manual backups via dk admin backup or POST /admin/backup.