{"id":19269516,"url":"https://github.com/status-im/infra-role-beacon-node-linux","last_synced_at":"2025-10-26T12:15:53.438Z","repository":{"id":36962669,"uuid":"379214990","full_name":"status-im/infra-role-beacon-node-linux","owner":"status-im","description":"Ansible role for Nimbus Eth2 beacon node on Linux","archived":false,"fork":false,"pushed_at":"2025-08-22T07:31:16.000Z","size":199,"stargazers_count":1,"open_issues_count":2,"forks_count":4,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-09-05T11:56:07.095Z","etag":null,"topics":["ansible-role","eth2","infra","linux","nimbus"],"latest_commit_sha":null,"homepage":"https://github.com/status-im/nimbus-eth2","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/status-im.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-06-22T09:34:02.000Z","updated_at":"2025-08-22T07:31:19.000Z","dependencies_parsed_at":"2024-05-29T11:08:21.479Z","dependency_job_id":"4c0370e6-f60b-4c34-96bf-7e1a2569706d","html_url":"https://github.com/status-im/infra-role-beacon-node-linux","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/status-im/infra-role-beacon-node-linux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/status-im","download_url":"https://codeload.github.com/status-im/infra-role-beacon-node-linux/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/status-im%2Finfra-role-beacon-node-linux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274831643,"owners_count":25357883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-role","eth2","infra","linux","nimbus"],"created_at":"2024-11-09T20:20:13.736Z","updated_at":"2025-10-26T12:15:53.387Z","avatar_url":"https://github.com/status-im.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Description\n\nThis role provisions a [Nimbus](https://nimbus.status.im/) installation that can act as an ETH2 network bootstrap node.\n\n# Introduction\n\nThe role will:\n\n* Checkout a branch from the [nimbus-eth2](https://github.com/status-im/nimbus-eth2) repo\n* Build it using the [`build.sh`](./templates/scripts/build.sh.j2) Bash script\n* Schedule regular builds using [Systemd timers](https://www.freedesktop.org/software/systemd/man/systemd.timer.html)\n* Start a node by defining a [Systemd service](https://www.freedesktop.org/software/systemd/man/systemd.service.html)\n\n# Ports\n\nThe service exposes three ports by default:\n\n* `9000` - LibP2P peering port. Must __ALWAYS__ be public.\n* `9200` - JSON RPC port. Must __NEVER__ be public.\n* `9900` - Prometheus metrics port. Should not be public.\n\n# Installation\n\nAdd to your `requirements.yml` file:\n```yaml\n- name: infra-role-beacon-node-linux\n  src: git+git@github.com:status-im/infra-role-beacon-node-linux.git\n  scm: git\n```\n\n# Configuration\n\nThe crucial settings are:\n```yaml\n# branch which should be built\nbeacon_node_repo_branch: 'stable'\n# ethereum network to connect to\nbeacon_node_network: 'mainnet'\n# optional setting for debug mode\nbeacon_node_log_level: 'DEBUG'\n# WebSocket or HTTP URLs for execution layet Engine API\nbeacon_node_exec_layer_urls:\n  - 'wss://erigon.internal.example.org:8551'\n  - 'http://geth.internal.example.org:8552'\n```\nThe order of WebSocket URLs matters. First is the default, the rest are fallbacks.\n\nThere's also a [container monitor service](./MONITOR.md).\n```yaml\nnim_waku_monitor_enabled: true\n```\nMost non-sensitive configuration resides in `conf/config.toml` file in service directory.\n\n# Management\n\n## Service\n\nAssuming the `stable` branch was built you can manage the service with:\n```sh\nsudo systemctl start beacon-node-mainnet-stable\nsudo systemctl status beacon-node-mainnet-stable\nsudo systemctl stop beacon-node-mainnet-stable\n```\nYou can view logs under:\n```sh\ntail -f /data/beacon-node-mainnet-stable/logs/service.log\n```\nAll node data is located in `/data/beacon-node-mainnet-stable/data`.\n\n## Builds\n\nA timer will be installed to build the image:\n```sh\n \u003e sudo systemctl list-units --type=service '*beacon-node-*'\n  UNIT                                LOAD   ACTIVE SUB     DESCRIPTION\n  beacon-node-prater-stable.service   loaded active running Nimbus Beacon Node on prater network (stable)\n  beacon-node-prater-testing.service  loaded active running Nimbus Beacon Node on prater network (testing)\n  beacon-node-prater-unstable.service loaded active running Nimbus Beacon Node on prater network (unstable)\n```\nTo rebuild the image:\n```sh\n \u003e sudo systemctl start build-beacon-node-prater-stable\n \u003e sudo systemctl status build-beacon-node-prater-stable\n ● beacon-node-prater-stable-build.service - Build beacon-node-prater-stable\n     Loaded: loaded (/etc/systemd/system/beacon-node-prater-stable-build.service; enabled; vendor preset: enabled)\n     Active: inactive (dead) since Wed 2021-09-29 12:00:12 UTC; 2h 15min ago\nTriggeredBy: ● beacon-node-prater-stable-build.timer\n       Docs: https://github.com/status-im/infra-role-systemd-timer\n    Process: 1212987 ExecStart=/data/beacon-node-prater-stable/build.sh (code=exited, status=0/SUCCESS)\n   Main PID: 1212987 (code=exited, status=0/SUCCESS)\n\nSep 29 12:00:12 build.sh[1213054]: HEAD is now at 0b21ebfe readme: update toc\nSep 29 12:00:12 build.sh[1212987]:  \u003e\u003e\u003e Binary already built\nSep 29 12:00:12 systemd[1]: beacon-node-prater-stable-build.service: Succeeded.\nSep 29 12:00:12 systemd[1]: Finished Build beacon-node-prater-stable.\n```\nTo check full build logs use:\n```sh\njournalctl -u build-beacon-node-mainnet-stable.service\n```\n\n# Requirements\n\nDue to being part of Status infra this role assumes availability of certain things:\n\n* The `iptables-persistent` module\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatus-im%2Finfra-role-beacon-node-linux/lists"}