Configuration Overview¶
m9m can be configured through configuration files, environment variables, and command-line flags.
Configuration Methods¶
| Method | Priority | Use Case |
|---|---|---|
| Command-line flags | Highest | Quick overrides |
| Environment variables | Medium | Container deployments |
| Configuration file | Lowest | Persistent settings |
Configuration File Location¶
m9m looks for configuration in these locations (in order):
./config.yaml(current directory)~/.m9m/config/config.yaml(user directory)/etc/m9m/config.yaml(system-wide)
Quick Start Configuration¶
Minimal configuration to get started:
# config.yaml
server:
host: "0.0.0.0"
port: 8080
database:
type: "sqlite"
sqlite:
path: "./data/m9m.db"
queue:
type: "sqlite"
sqlite:
path: "./data/queue.db"
Configuration Sections¶
| Section | Description |
|---|---|
| Server | Host, port, TLS settings |
| Database | Storage backend configuration |
| Queue | Job queue settings |
| Security | Authentication, CORS |
| Environment | Environment variables |
Full Configuration Example¶
# Server
server:
host: "0.0.0.0"
port: 8080
tls:
enabled: false
# Database
database:
type: "sqlite"
sqlite:
path: "./data/m9m.db"
# Queue
queue:
type: "sqlite"
max_workers: 4
sqlite:
path: "./data/queue.db"
# Logging
logging:
level: "info"
format: "json"
# Security
security:
jwt:
enabled: true
secret: "your-secret-key"
expiration: "24h"
cors:
enabled: true
allowed_origins:
- "http://localhost:3000"
# Execution
execution:
timeout: "1h"
retry:
enabled: true
max_attempts: 3
Validating Configuration¶
Check your configuration:
View effective configuration: