Skip to content

Configuration

Mini-Runbot loads YAML only when MINI_RUNBOT_CONFIG points to an existing file. Supported environment variables take precedence over YAML.

Use mini-runbot init to generate this file interactively or mini-runbot init --defaults to copy the bundled example values. Neither variant overwrites an existing destination.

Example

database_url: sqlite:///./mini_runbot.db
builds_root: ./builds
odoo_image: odoo:16.0
postgres_image: postgres:15
port_start: 18000
port_end: 19999
command_timeout_seconds: 900
health_timeout_seconds: 120
max_concurrent_builds: 2
cleanup_interval_seconds: 60
destroyed_retention_seconds: 0
load_demo_data: true
retain_failed_runtime: false
repositories:
  custom:
    url: https://github.com/OCA/e-commerce.git
    default_ref: "16.0"
    target: custom-addons
    addons_subpath: .
    allow_request_ref: true
    addons_priority: 100

General settings

Setting Default Purpose
database_url sqlite:///./mini_runbot.db Audit database and leases.
builds_root ./builds Per-build workspaces and logs.
odoo_image odoo:16.0 Odoo image.
postgres_image postgres:15 Internal PostgreSQL image.
port_start, port_end 18000, 19999 Loopback preview range.
command_timeout_seconds 900 External command timeout.
health_timeout_seconds 120 HTTP healthcheck timeout.
max_concurrent_builds 2 API executor workers.
cleanup_interval_seconds 0 Scheduler frequency; zero disables it.
destroyed_retention_seconds 0 Time before purge; zero retains indefinitely.
load_demo_data true Loads demo records used by many Odoo/OCA tests.
retain_failed_runtime false Keeps failed containers for diagnosis.

Repositories

Each key under repositories is a trusted alias. target must be unique, addons_subpath must be relative and remain inside the checkout, and allow_request_ref: false restricts requests to default_ref. A lower addons_priority number has higher precedence.

Remote HTTPS/SSH credentials must come from a Git credential helper available on the host (for example, Git Credential Manager on Windows) or from SSH. Never embed them in a URL or commit them.

Use / as the YAML path separator where possible: it works on Windows and Linux. Local repository paths still belong to the host, so a config.local.yaml might use C:/repos/addons on Windows or /srv/repos/addons on Linux. Do not share one absolute-path configuration between operating systems.

Environment variables

Variable Overrides
MINI_RUNBOT_CONFIG YAML file path.
MINI_RUNBOT_DATABASE_URL database_url.
MINI_RUNBOT_BUILDS_ROOT builds_root.
MINI_RUNBOT_ODOO_IMAGE odoo_image.
MINI_RUNBOT_CLEANUP_INTERVAL_SECONDS cleanup_interval_seconds.

config.local.yaml, SQLite databases, and builds/ are operator-owned local state and must not be committed. On both systems, the process user needs read access to repositories and write access to the SQLite database and builds_root.