01 · REFERENCE

CLI reference

There are no subcommands. Everything the engine does is controlled by the TOML config and driven through the HTTP API. The binary just starts the server.

USAGE:
  xerj [OPTIONS]

OPTIONS:
  -c, --config <PATH>     Path to the TOML config file
                          [default: ./xerj.toml]
  -d, --data-dir <PATH>   Override [server] data_dir
  -b, --bind <ADDR>       Override [server] bind_address
                          [default: 127.0.0.1 — loopback only]
  -k, --insecure          Disable TLS and API-key auth (dev only)
  -h, --help              Print help
  -V, --version           Print version and build commit

--config / -c

Path to the TOML config. Defaults to ./xerj.toml. The XERJ_CONFIG environment variable is consulted only if this flag is absent.

--data-dir / -d

Convenience override for [server] data_dir. Useful for ephemeral dev runs and for pointing XERJ at a tmpfs when you just want to burn something down after.

--bind / -b

Interface to bind every listener to; overrides [server] bind_address. Env: XERJ_BIND_ADDRESS. The default is 127.0.0.1 — loopback only. Pass 0.0.0.0 (or a specific address) to expose the node; with TLS off that also needs server.allow_insecure_network_bind = true (env XERJ_ALLOW_INSECURE_NETWORK_BIND), because every request, API key included, would cross the network in cleartext. The value must be an IPv4 or IPv6 literal; host names are not resolved, and one is refused at startup before the data directory is created.

--insecure / -k

Disables TLS and API-key auth. Dev only. It does not unlock a network bind: clearing tls.enabled is exactly what makes a non-loopback bind_address refuse to start, so --insecure on 0.0.0.0 exits non-zero unless the exposure is declared.

--help / -h

Prints the synopsis above and exits.

--version / -V

Prints the version, git SHA, and build date. Useful in oncall pages: xerj -V | head -1.

Source · engine/crates/xerj-server/src/main.rs