Ansible role for Nimbus Eth2 beacon node via Docker
Go to file
Jakub Sokołowski 3f6ef25470
add beacon_node_valid_network_names, move to tasks/checks.yml
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-05-11 10:39:20 +02:00
defaults add beacon_node_valid_network_names, move to tasks/checks.yml 2021-05-11 10:39:20 +02:00
handlers add missing "Save iptables rules" handler 2019-03-23 09:56:46 +01:00
meta add dependency on infra-role-consul-service 2019-03-23 09:57:01 +01:00
tasks add beacon_node_valid_network_names, move to tasks/checks.yml 2021-05-11 10:39:20 +02:00
templates add beacon_node_doppelganger_detection variable 2021-04-29 15:10:08 +02:00
LICENSE Support multiple nodes per host; Extract the Nginx site in a separate repo 2019-03-21 23:08:55 +02:00
README.md support multiple Web3 URLs with beacon_node_web3_urls 2021-04-19 19:23:36 +02:00

README.md

Description

This role provisions a Nimbus installation that can act as an ETH2 network bootstrap node.

Introduction

Each host can run multiple nodes installed as docker containers. TCP and UDP ports starting from 9000 will be exposed (e.g. 9000, 9001 and 9002 if you run 3 nodes).

Installation

Add to your requirements.yml file:

- name: infra-role-beacon-node
  src: git+git@github.com:status-im/infra-role-beacon-node.git
  scm: git

Configuration

The crucial settings are:

beacon_node_network: 'testnet0'
# optional setting for debug mode
beacon_node_log_level: DEBUG
# Infura Web Sockets URLs
beacon_node_web3_urls: ['wss://mainnet.infura.io/ws/v3/123qwe123qwe123qwe']

The order of Web Socket URLs matters. First is the default, the rest are fallbacks.

Usage

You can re-create containers on the host using:

cd /docker/beacon-node-testnet0-1
docker-compose --compatibility up -d --force-recreate

Which will use the docker-compose.yml file in that directory.

Rebuilding

If you want to rebuild the image regularly you can enable it via:

beacon_node_timer_rebuild: true
beacon_node_timer_frequency: 'daily'

Which should create a beacon-node-${network}-rebuild timer:

 > sudo systemctl list-timers 'beacon-node-*'
NEXT                        LEFT    LAST PASSED UNIT                               ACTIVATES                           
Wed 2020-11-04 00:00:00 UTC 9h left n/a  n/a    beacon-node-testnet3-rebuild.timer beacon-node-testnet3-rebuild.service

1 timers listed.

Which will run docker-compose up --build --force-recreate -d.

Requirements

Due to being part of Status infra this role assumes availability of certain things:

  • Docker for running containers
  • The iptables-persistent module