Skip to main content

Configuration via config.ini

How configuration works across Pioreactors​

Configuration of the Pioreactors is through configuration files ending in .ini. There are two types of .ini files: a shared config.ini, which is the same across all units, and a unit-specific unit_config.ini file, which can have settings that overwrite those found in the shared config.ini.

For example (and see image below), each unit will use the shared config.ini setting of target_rpm=500, unless an alternative setting is present in their specific unit_config.ini files (like target_rpm=400 found in unit1_config.ini) . This overriding lets you customize specific behavior per Pioreactor, without having to duplicate lots of configuration over and over again.

Last-occurrence wins​

The config.ini can have duplicate entries (though it's not recommended), but only the last occurrence in the file will be used.

Editing the configuration files from the web interface​

At pioreactor.local, navigate to the Configuration page in the sidebar.

Edit configuration page

Select the configuration file you wish to edit from the dropdown:

Choose the config.ini you wish to edit

Clicking [Save] will save the new configuration and will deploy the new configuration to the proper Pioreactor unit(s).

Save the edited config.ini using the Save button

Pioreactor also stores a history of changes to each configuration file. You can view previous versions of configuration files in the dropdown. Clicking [Revert] will save the displayed configuration file.

Select historical versions of config.ini's

To keep an offline copy of the cluster's configuration, click Download all configurations. The downloaded configuration_inis.zip contains the shared config.ini, each reachable Pioreactor's unit_config.ini under a folder named for that unit, and metadata.json, which lists the included files and any units that could not be reached.

Editing the unit_config.ini before booting​

To set unit-specific overrides before booting, place a config.ini at the root of the SD card's boot partition. At startup, its settings are merged into that Pioreactor's unit_config.ini. See Provisioning images for an example and the import behavior.

Default config.ini​

If you need a reference config.ini, or to replace parts of yours, here's our default one that ships with the Pioreactor software. To use it, you'll need to fill in the leader's details: leader_hostname and leader_address under [cluster.topology], and broker_address under [mqtt].