🚧 This page is a work in progress. Dockermint is currently under active development. Want to contribute? Check out the GitHub repository.

Configuration

Dockermint uses TOML recipe files to define how Docker images should be built for each chain. Each recipe describes the chain metadata, build parameters, flavour options, and image configuration.

Recipe Structure

A Dockermint recipe is organized into several sections:

[meta]
schema_version = 1

[header]
name = "cosmos-gaiad"
type = "golang"
repository = "https://github.com/cosmos/gaia"

[flavours.available]
db_backend = ["goleveldb", "pebbledb"]
running_env = ["alpine3.23", "ubuntu-noble", "distroless"]
wasmvm = ["true", "false"]

[flavours.default]
db_backend = "goleveldb"
running_env = "alpine3.23"
wasmvm = "false"

Sections Reference

Detailed documentation for each section is coming soon.

[meta]

Defines the recipe schema version.

[header]

Chain metadata including name, type, and source repository.

[flavours]

Available and default build variants (database backend, running environment, WasmVM support).

[scrapper]

Configuration for the release scanner that detects new versions.

[variables]

Build-time variables and their values.

[builder]

Base builder image and architecture configuration.

[pre_build]

Steps to execute before the main build (dependencies, toolchains).

[build]

Main build commands and linker variable configuration.

[copy]

Files and directories to copy into the final image.

[expose]

Network ports to expose in the container.

[labels]

OCI image labels and metadata.

[image]

Final image configuration including tag format, user, and entrypoint.

Next Steps