Configures the iii engine via iii-config.yaml — workers, adapters, queue configs, ports, and environment variables. Use when deploying, tuning, or customizing the engine.
Comparable to: Infrastructure as code, Docker Compose configs
Use the concepts below when they fit the task. Not every deployment needs all workers or adapters.
${VAR:default} syntax (default is optional)iii.toml and the iii worker CLI commandsThe iii-config.yaml file is loaded by the iii engine binary at startup. Workers are initialized in order, adapters connect to their backends, and the engine begins accepting worker connections over WebSocket on port 49134. External workers defined in the config are spawned as child processes automatically.
| Primitive | Purpose |
|---|---|
iii-http | HTTP API server (port 3111) |
iii-stream | WebSocket streams (port 3112) |
iii-state | Persistent key-value state storage |
iii-queue | Background job processing with retries |
iii-pubsub | In-process event fanout |
iii-cron | Time-based scheduling |
iii-observability | OpenTelemetry traces, metrics, logs |
iii-http-functions | Outbound HTTP call security |
iii-exec | Spawn external processes |
iii-bridge | Distributed cross-engine invocation |
iii-telemetry | Anonymous product analytics |
iii-worker-manager | Worker connection lifecycle |
iii-engine-functions | Built-in engine functions |
iii.toml | Worker manifest (name → version) |
iii worker add NAME[@VERSION] | Install a worker from the registry |
iii worker remove NAME | Uninstall a worker |
iii worker list | List installed workers |
iii worker info NAME | Show registry info for a worker |
See ../references/iii-config.yaml for the full working example — a complete engine configuration with all workers, adapters, queue configs, and environment variable patterns.
Code using this pattern commonly includes, when relevant:
iii --config ./iii-config.yaml — start the engine with a config filedocker pull iiidev/iii:latest — pull the Docker imagestore_method: file_based with file_path: ./data/...redis_url: ${REDIS_URL}amqp_url: ${AMQP_URL} and queue_mode: quorumqueue_configs with max_retries, concurrency, type, backoff_ms per queue nameport: ${III_PORT:49134}curl http://127.0.0.1:3111/healthWorkers in iii-config.yaml use name: and optional config::