Skip to content

CLI

For: anyone starting the binary.

One binary. mira is the server, mira mira is the terminal UI over the same blocks, mira update replaces the binary — and there is no daemon, agent or sidecar to run alongside any of them.

$ mira --help
mira [--config FILE] [--node NAME] [--grpc ADDR] [--http ADDR]
     [--data-dir PATH] [--retention DURATION]
     [--max-request-bytes SIZE] [--queue N] [--shards N] [--wal]
     [--self-telemetry] [--telemetry-interval DURATION]
     [--alerts FILE] [--version]

mira mira [--config FILE] [--data-dir PATH] [--addr HOST[:PORT]]
mira update [--version VERSION] [--dry-run]

Flags override the config file, which overrides the defaults. Every value can
also come from the file via ${env:VAR} — see https://miradb.dev/config/.

`mira mira` opens the terminal UI. With --data-dir it reads a block directory
in-process and needs no server running; with --addr it queries one over HTTP.
`mira tui` is the same thing, for anyone who guesses that first.

`mira update` replaces this binary with the latest GitHub release, using the
same installer as the curl one-liner at https://miradb.dev/install/.

Every flag here is also a config-file key: Configuration is the table, with the type, the default and what each one sets.