Getting started¶
Requirements¶
Mini-Runbot uses the same code and lifecycle on both systems:
- Python 3.12 and Git.
- Docker Compose v2, available as
docker compose. - Write access to
builds_rootand access to the Docker daemon.
- Windows 10/11 with PowerShell.
- Docker Desktop configured for Linux containers.
- Virtualization and WSL 2 enabled when required by Docker Desktop.
- A Linux distribution with Bash.
- Docker Engine and the Docker Compose v2 plugin.
- The user must be able to access the Docker socket. Membership in the
dockergroup grants elevated control over the host; follow your team's security policy.
Installation¶
Isolated application with pipx¶
After the first PyPI publication, the recommended installation on both systems will be:
While that release is being prepared, clone the repository and run pipx install . from its root.
pipx keeps the application and its dependencies separate from the system Python installation.
Development environment¶
From the repository root:
Create the configuration¶
The wizard starts from the example bundled with the application, asks about runtime, concurrency,
retention, and allowed repositories, and creates config.local.yaml only when it does not exist:
To accept all config.example.yaml values without prompts:
Then export its absolute path:
doctor checks Python, Git, Docker, Compose, the daemon, the builds directory, and configured Git
origins. Resolve every failed check before creating a real build.
Start the dashboard¶
The command is the same in PowerShell and Bash:
Open http://127.0.0.1:8000. The dashboard creates and filters builds, tracks stages, reads logs, opens previews, and destroys runtimes.
First build¶
The custom alias must exist in your configuration:
Keep the displayed ID. Inspect it with mini-runbot build get BUILD_ID and destroy its runtime with
mini-runbot build destroy BUILD_ID.
Note
Without --run, the CLI only creates the record. The API instead returns 202 Accepted and
automatically dispatches the build to the local executor.
Controlled demo¶
The demo uses config.demo.yaml, resolves this repository's HEAD, and installs the
mini_runbot_demo module.
The demo intentionally leaves the preview running. Destroy the reported build ID when finished.