Mini-Runbot turns configured Git revisions and Odoo module lists into isolated, tested, temporary Odoo 16 environments. It is a local, single-host proof of concept for trusted repositories, not a security boundary for hostile code.

- Documentación en español

- English documentation

- Documentation sources

- Explore the codebase in DeepWiki

- Changelog

The bilingual portal is the canonical project documentation. It covers installation on Windows and Linux, configuration, dashboard and CLI usage, the HTTP API, operations, security limits, testing, the roadmap, and architecture decisions. Its technical guides connect behavior to the current implementation:

- Domain model and lifecycle

- Eight-stage build pipeline

- Concurrency, cleanup, and recovery

- Ports and adapters

- Troubleshooting and operator runbook

- CI/CD and automated security

- Glossary

DeepWiki provides a generated, code-oriented view that complements the maintained portal; when the two differ, the repository documentation and implementation are authoritative.

Mini-Runbot is released under the GNU Affero General Public License, version 3 or later. Network users of modified versions must be offered the corresponding source code as required by the license.

Python 3.12, Git, and Docker Compose v2 are required. On Windows, use Docker Desktop with Linux containers; on Linux, use Docker Engine with the Compose v2 plugin.

Mini-Runbot is packaged as a CLI application. After the first PyPI release, install it in an

isolated environment with pipx:

pipx install mini-runbot

mini-runbot initUntil that release, clone the repository and run pipx install ., or use the development setup

below. init asks for runtime and allowed-repository settings and refuses to overwrite an existing

config.local.yaml. Use mini-runbot init --defaults for the bundled example values.

py -3.12 -m venv .venv

.venv\Scripts\Activate.ps1

python -m pip install -e ".[dev]"

mini-runbot init

$env:MINI_RUNBOT_CONFIG = (Resolve-Path config.local.yaml)

mini-runbot doctor

mini-runbot serve --reloadpython3.12 -m venv .venv

source .venv/bin/activate

python -m pip install -e ".[dev]"

mini-runbot init

export MINI_RUNBOT_CONFIG="$(realpath config.local.yaml)"

mini-runbot doctor

mini-runbot serve --reloadOpen http://127.0.0.1:8000, or create a build from the CLI:

mini-runbot build create --repo custom --ref 16.0 --modules module_a,module_b --runRepository inputs are configured aliases, never arbitrary URLs or filesystem paths supplied by a client.

The same commands work in an activated PowerShell or Bash environment:

python -m pip install -e ".[dev,docs]"

python -m pytest -m "not docker"

python -m ruff check .

node --check src/mini_runbot/web/app.js

python -m build

python scripts/check_distribution.py dist

python scripts/check_docs.py

python -m mkdocs build --strict --config-file gh-docs/mkdocs.es.yml --site-dir ../site

python -m mkdocs build --strict --config-file gh-docs/mkdocs.en.yml --site-dir ../site/en

git diff --checkDocker-marked end-to-end tests remain an explicit local check because they require a working daemon, image registry access, and real Odoo startup.