Skip to content
GitHub

bino setup

bino relies on Chrome headless shell and a template engine to render PDFs, and on DuckDB extensions to read your data. Use bino setup to download and configure these dependencies.

bino setup [flags]
  • --template-engine – download or update the bn-template-engine.
  • --engine-version – specific template engine version to download (default: latest). For example v0.37.0.
  • --duckdb-extensions – download every DuckDB extension the CLI can use into the local cache.
  • --dry-run – show what would be installed without actually downloading.
  • --quiet – suppress verbose installer output.

Install Chrome headless shell and template engine:

bino setup

Install the template engine only (latest version):

bino setup --template-engine

Install a specific template engine version:

bino setup --template-engine --engine-version v0.37.0

Install the DuckDB extensions only:

bino setup --duckdb-extensions

Preview what would be installed without downloading:

bino setup --dry-run

Chrome headless shell (chrome-headless-shell) is a lightweight Chrome binary purpose-built for headless rendering. It is downloaded from Google's Chrome for Testing infrastructure and cached in ~/.bino/chrome-headless-shell/.

If you need to use a custom Chrome or Chromium installation, set the CHROME_PATH environment variable to point to the binary. This takes priority over the cached version.

The template engine (bn-template-engine) is a JavaScript runtime used to render HTML templates. It is downloaded separately from Chrome headless shell and cached in ~/.bino/cdn/bn-template-engine/.

Multiple versions can be installed side by side. By default, bino uses the latest locally installed version unless a specific version is pinned in bino.toml via the engine-version field. See Project configuration for more details.

bino queries data through DuckDB, which loads extensions on demand — excel and httpfs for file and URL sources, postgres and mysql for databases, prql for PRQL datasets, and webdavfs for WebDAV secrets. They are normally downloaded the first time they are needed and cached in ~/.bino/cache/duckdb/extensions/.

bino setup --duckdb-extensions downloads all of them up front. Use it to prepare an air-gapped machine, or to warm a CI cache so builds never block on an extension download:

bino setup --duckdb-extensions

Extensions are version- and platform-specific, so the cache from one machine only transfers to another with the same OS, architecture, and bino release.

If builds fail with rendering or browser errors, rerun this command and verify that your environment has network and disk access.