Skip to main content
The malbox daemon subcommands manage the host-local daemon installation: installing and upgrading Malbox, generating configuration, controlling which virtualization providers are compiled in, and installing plugins from the registry. Run these commands on the analysis host where the daemon is (or will be) installed. For analysis operations against a running daemon, use the top-level malbox commands (task, machine, image, plugin).
Earlier releases shipped a separate malboxctl binary for these commands. It has been consolidated into malbox daemon. The standalone daemon process is now called malboxd.

Global flags

The global flags from malbox apply to every malbox daemon subcommand.

install

Run the interactive installation wizard to set up Malbox.
The wizard walks you through:
  1. Release channel (stable or nightly)
  2. Provider selection (e.g. libvirt, vmware)
  3. Daemon source (prebuilt binary or compile from source)
  4. Frontend source (prebuilt or compile)
  5. PostgreSQL setup (managed instance or connect to an existing server). The installer provisions the malbox database and role.
  6. Systemd service configuration
If a previous installation stopped partway through, the wizard offers to resume from the last completed step or start fresh.

Non-interactive install

--yes skips every prompt and uses sensible defaults. This is what the published curl | bash installer runs:

upgrade

Upgrade Malbox to the latest version on the current release channel.

start

Start the daemon in the foreground using the current configuration.
In production the daemon is normally launched by the systemd unit installed by malbox daemon install. Use malbox daemon start for ad-hoc runs and local development.

config

Manage the daemon configuration file.

config init

Write a new daemon configuration file populated with defaults.
This command also writes a cli.toml alongside the daemon configuration so the malbox client CLI can find the API URL.

provider

Manage which virtualization providers are compiled into the daemon. Providers are toggled in the [providers] section of the daemon config and compiled in as Cargo features. Changing the provider set requires rebuilding the installed binaries from the installed version’s source.

provider list

List providers compiled into the current daemon binary.

provider install

Add a provider to the configuration and rebuild the daemon with it enabled.

provider uninstall

Remove a provider from the configuration and rebuild the daemon without it.

provider rebuild

Rebuild the daemon with the providers currently listed in the configuration. Use this after --no-rebuild or after editing the config by hand.

plugin

Manage host-local plugin installations. These commands talk to the plugin registry configured under [plugins.registry] in the daemon config (see malbox plugin to query plugins on a running daemon).

plugin install

Install a plugin from the registry or directly from a GitHub repository.
--source and --prebuilt are mutually exclusive.

plugin update

Update an installed plugin to its latest version, or update everything.

plugin remove

Uninstall a plugin.

plugin list

List plugins installed on this host.
Search the configured plugin registry. Matches against name, description, and categories.

plugin info

Show detailed information about a plugin (version, description, categories, dependencies).

Plugin registry configuration

malbox daemon plugin reads its registry settings from the [plugins.registry] section of the daemon configuration. When the section is omitted, the official registry is used.

Database configuration

The daemon connects to PostgreSQL using discrete fields under [database]. The database name is fixed at malbox and is provisioned by malbox daemon install, so it no longer appears in the configuration.

completion

Generate shell completions for malbox (the parent binary).
See malbox completion for installation paths.

Environment variables