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.

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

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

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.

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].