Skip to content

How to Install a Centauron Node

This guide will walk you through setting up a complete Centauron node using the provided Ansible automation.

Prerequisites

Before you begin, ensure the machine you are running the installation from (your local computer) has the following software installed:

The requirements for your remote machine are:

  • Ubuntu 22.04 LTS
  • 8 CPU cores
  • 64 GB memory
  • 1 TB disk space (SSD preferred)

For doing computations, we recommend a dedicated machine with at least one GPU and shared storage with the Centauron installation.

We recommend to use different subdomains for the different components of your node:

  • your-node.com
  • keycloak.your-node.com
  • api.your-node.com
  • cdn.your-node.com
  • ipfs.your-node.com
  • download.your-node.com

Additionally, we require the following ports to be open-world accessible:

  • 443
  • 31313 for the Blockchain client Besu
  • 4001 for ipfs

Furthermore we require the use of SSL certificates for each subdomain. This setup here uses Lets Encrypt for automatic certificate provisioning.

Step 1: Get the Deployment Code

Clone the repository to your local machine to get all the necessary Ansible playbooks and roles.

bash
git clone https://github.com/TIGACenter/deploy-centauron.git deploy-centauron
cd deploy-centauron

Step 2: Configure Your Target Server

You need to tell Ansible which server to connect to.

Open the inventory file: inventory/hosts.ini.

Add the IP address or domain name of your target server under the [all] group.

ini
[all]
your_server_ip_or_domain.com

Step 3: Configure Node Variables

All node-specific configuration is managed in a single file.

Open the main variable file: inventory/group_vars/all.yml.

Review and edit the variables as needed for your deployment. You can find a detailed description for each variable over here.

Step 4: Run the Installation

The installation process is automated and divided into two steps: 1) Install the prerequisites, 2) Configure the components.

From your terminal, run the following command to install the prerequisites necessary for your Centauron node:

bash
ansible-playbook prerequisites.yml

Configure the components using:

bash
ansible-playbook configure.yml

Start the components using:

bash
ansible-playbook start.yml