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:
- Git: To clone the repository.
- Python (version 3.8 or newer).
- Ansible: The automation tool that runs the playbooks. You can follow the official Ansible installation guide.
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.comkeycloak.your-node.comapi.your-node.comcdn.your-node.comipfs.your-node.comdownload.your-node.com
Additionally, we require the following ports to be open-world accessible:
44331313for the Blockchain client Besu4001for 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.
git clone https://github.com/TIGACenter/deploy-centauron.git deploy-centauron
cd deploy-centauronStep 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.
[all]
your_server_ip_or_domain.comStep 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:
ansible-playbook prerequisites.ymlConfigure the components using:
ansible-playbook configure.ymlStart the components using:
ansible-playbook start.yml