Installing your first node on a bare-metal server is the best way to become familiar with the underlying dependencies and configuration files. The deployer handles most work for you; it only requires some initial dependencies such as NodeJS and for you to properly configure it.

For this guide you will need a server with an Ubuntu installation, both 16.04 or 18.04 are well tested, but other versions and distributions may work as well. Running this tutorial locally is also possible, but not recommended for actual usage.

in core-commander/ecosystem.config.js we can see what parameters are passed to the startup command when running the relay, forger or explorer.

The --config flag is of particular interest to us, as it passed the config files we wish to use. You can find real-world configurations in the core repository. Each of the directories contains a full set of configuration files needed to run a node.

Next, edit/copy the genesisBlock.json and alter the initial values using the explorer or Public API.

Leave the delegates.json empty, we do not want those passphrases public, as someone could use them to construct an alternate chain. Finally commit and push your new configurations, as others will use them to add nodes to your network.