Ansible role for Nimbus Eth2 beacon node via Docker
Go to file
Jakub Sokołowski 4de9cb8357
re-enable metrics check and disable TCP check on libp2p port
Mostly likely the fact we dropped docker-proxy/userland-proxy from our
configuration has revealed the fact that currently Nimbus limits the
number of connections it accepts, and once that limit is reached it just
stops accepting new TCP connections.

For more details see:
https://github.com/status-im/infra-nimbus/issues/35#issuecomment-778503016

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-02-13 00:05:43 +01:00
defaults use consul_beacon_node.json for consul service file by defaul 2021-02-08 08:40:29 +01: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 re-enable metrics check and disable TCP check on libp2p port 2021-02-13 00:05:43 +01: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 drop infura web3 url from repo 2020-11-19 22:59:32 +01: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 URL
beacon_node_web3_url: 'wss://mainnet.infura.io/ws/v3/123qwe123qwe123qwe'

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