Skip to content

Commands

commands

Typer command implementations for the Mirumoji CLI

Each CLI command uses Typer and Rich to expose the shared core's functionality in a user-friendly way

build(transcribe=None)

Builds the Mirumoji images locally from source

Clones/Updates the managed mirumoji repo checkout and builds the frontend + backend images locally for the chosen backend

Backend Resolution

The backend value is resolved in the following order

  • Value Passed To --transcribe, If Present

  • Value Stored in Config, If Present

  • Default Value (MODAL)

config_clear()

Removes All Keys from The Launcher's Managed Configuration

config_delete(key)

Removes A Single Key From The Launcher's Managed Configuration

config_import(path)

Imports A Custom .env File Into The Launcher's Managed Configuration

Merges the file's variables into the managed config, overriding existing values and keeping any the file omits

config_path()

Prints The Path To The Launcher's Managed Configuration File

config_set(key, value)

Sets (Upserts) A Single Key In The Launcher's Managed Configuration

Rejects unknown keys, and validates the value for the deployment keys (MIRUMOJI_TRANSCRIBE_BACKEND / MIRUMOJI_IMAGE_SOURCE)

config_show()

Shows The Launcher's Managed Configuration, Masking Secret Values

dev_server(host='0.0.0.0', port=8000, reload=False)

Runs the Mirumoji server with uvicorn

Launches the FastAPI server directly with uvicorn (no Docker), using the app factory. Intended for local development and Python-only iteration

dev_up(transcribe=None, path=None, detach=True)

Launches the Mirumoji Docker Compose Application For Development Using Images Built With dev build

Builds the Mirumoji images locally from a mirumoji repo clone at an arbitrary path without updating it

Intended for development only. Accepts a path to a mirumoji repo checkout and builds the frontend + backend images locally for the chosen backend

Backend Resolution

The backend value is resolved in the following order

  • Value Passed To --transcribe, If Present

  • Value Stored in Config, If Present

  • Shell's MIRUMOJI_TRANSCRIBE_BACKEND environment variable, If Present

  • Default Value (MODAL)

Steps
  • Resolves the backend according to the order of precedence listed above

  • Validates that every required variable is configured (the managed config file is never altered in a run)

  • Acquires the host's LAN IPv4 to build the frontend's self-signed certificate

  • Builds the correct compose file based on the backend choice

  • Builds images locally

  • Runs Docker Compose Up using the managed config as the --env-file

doctor()

Reports the status of every external dependency

Runs every environment check and renders a report informing which pre-requisites are present and which are missing

down(volumes=False, yes=False)

Stops the Mirumoji Docker Compose Application

gui()

Launches the Mirumoji desktop GUI

Launches the Flet desktop GUI. Requires the gui extra (Flet). The shipped standalone executables are built separately

logs(service=None, follow=False, tail=None)

Streams logs from the Mirumoji Docker Compose application

Streams Docker Container logs for the whole compose application or a single service

pull(transcribe=None)

Pulls the Mirumoji images from Docker Hub

Pulls the pre-built Mirumoji Docker Images from Docker Hub for the chosen backend

Backend Resolution

The backend value is resolved in the following order

  • Value Passed To --transcribe, If Present

  • Value Stored in Config, If Present

  • Default Value (MODAL)

render(transcribe=Backend.MODAL, build=False, output=Path('docker-compose.yaml'))

Renders a resolved docker compose file from the packaged template

Writes a resolved compose file from the packaged template for a chosen backend + image source. Used to produce the static files referenced by the manual-install documentation

status()

Displays the status of the Mirumoji Docker Compose application's services

Shows the running compose application's services and their health as a table

up(transcribe=None, build=None, detach=True)

Launches the Mirumoji Docker Compose Application

Backend Resolution

The backend value is resolved in the following order

  • Value Passed To --transcribe, If Present

  • Value Stored in Config, If Present

  • Shell's MIRUMOJI_TRANSCRIBE_BACKEND environment variable, If Present

  • Default Value (MODAL)

Image Source Resolution

The image source value is resolved in the following order

  • --pull / --build flags, If Present

  • Value Stored in Config, If Present

  • Shell's MIRUMOJI_IMAGE_SOURCE environment variable, If Present

  • Default Value (PULL)

Steps
  • Resolves the backend / image source according to the order of precedence listed above

  • Validates that every required variable is configured (the managed config file is never altered in a run)

  • Acquires the host's LAN IPv4 to build the frontend's self-signed certificate

  • Builds the correct compose file based on the backend / image source choice

  • Builds images locally for a build source. For a pull source it does not pull explicitly, letting docker compose up fetch only the missing images (use mirumoji pull to refresh on demand)

  • Runs Docker Compose Up using the managed config as the --env-file