GithubHelp home page GithubHelp logo

stereum-dev / ethereum2-docker-compose Goto Github PK

View Code? Open in Web Editor NEW
84.0 9.0 27.0 17.12 MB

Run different kind of Ethereum 2 staking nodes with monitoring tools and own Ethereum 1 node out of the box!

Home Page: https://stereum.net

License: MIT License

Shell 100.00%
vouch prysm dirk lighthouse monitoring ethereum docker docker-compose

ethereum2-docker-compose's People

Contributors

gbayasgalan avatar shamoya avatar stefa2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ethereum2-docker-compose's Issues

lodestar

integrate lodestar with validator

Could not open wallet: no wallet found

I tried to run the prysm-only process, and I got this error on the validator container:

time="2020-11-20 10:26:45" level=warning msg="Running on ETH2 Mainnet" prefix=flags
time="2020-11-20 10:26:45" level=error msg="could not open wallet: no wallet found. You can create a new wallet with validator wallet create.If you already did, perhaps you created a wallet in a custom directory, which you can specify using --wallet-dir=/path/to/my/wallet" prefix=main

What am I missing?

Nimbus beacon

Goal: docker-compose.yaml example file with nimbus beacon and eth1 geth

Docker-Images: prysm

Build a secure docker image for prysm:

  • beacon-chain
  • validator
  • slasher

Docker image features:

  • Using non-priviledged user
  • Apparmor or similar
  • No package managers
  • Automized and triggered builds

Could not initialize wallet: password did not pass validation (prysm-only)

I am trying to follow the prysm-only to create the node.
I am getting this error:

[root@master-0 ethereum2-docker-compose]# docker-compose -f create-account.yaml run validator-import-launchpad

Prysmatic Labs Terms of Use

By downloading, accessing or using the Prysm implementation (“Prysm”), you (referenced herein
as “you” or the “user”) certify that you have read and agreed to the terms and conditions below.

TERMS AND CONDITIONS: https://github.com/prysmaticlabs/prysm/blob/master/TERMS_OF_SERVICE.md


Type "accept" to accept this terms and conditions [accept/decline]: (default: decline):
accept
[2020-11-20 11:34:56]  WARN flags: Running on ETH2 Mainnet
[2020-11-20 11:34:56] FATAL accounts: Could not import accounts: could not initialize wallet: password did not pass validation: password must have at least 8 characters, at least 1 alphabetical character, 1 unicode symbol, and 1 number

I think that I followed the instructions correctly. I have the the wallet password file here:

[root@master-0 ethereum2-docker-compose]# ll data/prysm/validator/wallets/
total 4
-rw-r--r--. 1 root root 15 Nov 20 12:12 wallet-password
[root@master-0 ethereum2-docker-compose]# ll data/prysm/validator/passwords/
total 4
-rw-r--r--. 1 root root 15 Nov 20 12:34 wallet-password

(both are the same, and both are the same as was used during launchpad)

I already finished the launchpad process, so I paid my 32 GETH. Any suggestions?

Prysm: wrong alerts for slashing

User reported issue with getting alerts, but they are not correct. Validators are not slashed and node works as intended (source beaconcha.in). Validator public keys/indexes won't be posted here to keep the user's funds anonymous.
image

prysm-only/create-account.yaml # Failing on password req in test setup - how to recover?

So I was trying it out using the TestNet and gave a weak password... Now right before the setup finishes, the loader complaines about password policy:
Could not import accounts: could not initialize wallet: password did not pass validation: password must have at least 8 characters, at least 1 alphabetical character, 1 unicode symbol, and 1 number

Grr - Sure its very good to have that in MainNet.. But now I get stuck and wonder how to proceed from here?

Can I change my existing password to match the requirements or do I need to generate new validator configs?


My steps:

Copy templates:

cd /opt/ethereum2-docker-compose/
cp compose-examples/prysm-only/docker-compose.yaml 
cp compose-examples/prysm-only/create-account.yaml ./

Copy keystore & deposit file:

mkdir -p /opt/ethereum2-docker-compose/launchpad/eth2.0-deposit-cli/validator_keys
cd /opt/ethereum2-docker-compose/launchpad/eth2.0-deposit-cli/validator_keys/
cp /opt/ethereum2-docker-compose/launchpad/deposit_data-XYZ.json ./
cp /opt/ethereum2-docker-compose/launchpad/keystore-m_XYZjson ./

Enter password / Create wallet dir:

cd /opt/ethereum2-docker-compose/
mkdir -p data/prysm/validator/wallets
vim data/prysm/validator/passwords/wallet-password

(saved pw to file)

Try to run it:

cd /opt/ethereum2-docker-compose/
sudo docker-compose -f create-account.yaml run validator-import-launchpad

But sadly it fails:

[2021-02-21 18:03:34] FATAL accounts: 
Could not import accounts: could not initialize wallet: 
password did not pass validation: 
password must have at least 8 characters, 
at least 1 alphabetical character, 1 unicode symbol, and 1 number

prysm: node-exporter enhancements

  • use explicit version with .env version tag
  • run with user: "2000"
  • pre-define outsource configuration in ./config/prometheus-node-exporter/... and mount as volume in docker-compose.yaml

grafana - prometheus connection incorrectly configured with basic auth

the grafana provisioning-p configuration sets its prometheus datasource as having basic auth

# <bool> enable/disable basic auth
basicAuth: true
# <string> basic auth username
basicAuthUser: admin
# <string> basic auth password
basicAuthPassword: admin

as i understand it prometheus does not natively support basic auth and it is not otherwise setup by this docker configuration
this misconfiguration prevents grafana from reaching prometheus, resulting in logging like

error="Could not find datasource Data source not found" 

teku: prometheus should use user: "2000"

Teku's prometheus container should use user: "2000" instead of user: root, similar to docker-compose.yaml of lighthouse-only setup. This change needs adjustments of stereum-init's mount too!

nimbus: prometheus should use user: "2000"

Nimbus' prometheus container should use user: "2000" instead of user: root, similar to docker-compose.yaml of lighthouse-only setup. This change needs adjustments of stereum-init's mount too!

Metrics not loading in Grafana

Hello,

I was able to successfully run the docker compose file, adding user 1000 to grifana and it looks like the Overview New dashboard is not loading any metrics:
image

It looks like the only metrics that seem to be available are the scrape metrics:
image

I wanted to get the dashboard metrics working before I stake anything.

Here are the latest bits of logs for each service:

Geth seems to be sync'd to the head of the chain:
image

Beacon_1 seems ok also:
image

Validator_1 maybe an issue
image

slasher_1 gives me some errors, any idea why?
image

Grafana_1 successfil login:
image

All in all, I really like this setup and thank you for all of your work,

-bp

Grafana shows no data

I am following along your docker-compose examples for "lighthouse-only" and everything is working great so far (thanks btw!). Grafana is showing no data in any dashboard though. I see that prometheus is running and I can reach it from the grafana container. I have accessed the prometheus interface directly but none of the queries work - nothing is returned.

I don't know where to start looking for the problem. Logs do not show any obvious hints.

multiclient: second vouch container

To prevent missed attestations/blocks when the main beacon of one vouch is not functioning properly we need to introduce a second vouch container and connect it to one of the other beacons as main its main node.

Lighthouse monitoring

Add monitoring (prometheus, grafana) to lighthouse-standalone and include dashboard.

node exporter crashes from time to time

Hi all,

I'm having the node-exporter docker crash every couple of days.
The log doesn't show anything.
Does anyone have the same issue?
I'm running with prysm only.
Some output

docker-compose ps
Name Command State Ports

ethereum2-docker-compose_beacon_1 /app/beacon-chain/beacon-c ... Up 0.0.0.0:12000->12000/udp,
0.0.0.0:13000->13000/tcp,
127.0.0.1:3500->3500/tcp,
127.0.0.1:4000->4000/tcp,
127.0.0.1:8080->8080/tcp
ethereum2-docker-compose_geth_1 geth --http --http.port=85 ... Up 0.0.0.0:30303->30303/tcp,
0.0.0.0:30303->30303/udp,
127.0.0.1:8545->8545/tcp, 8546/tcp
ethereum2-docker-compose_grafana_1 /run.sh Up 127.0.0.1:3000->3000/tcp
ethereum2-docker-compose_node- /bin/node_exporter Exit 255 9100/tcp
exporter_1
ethereum2-docker-compose_prometheus_1 /bin/prometheus --storage. ... Up 127.0.0.1:9090->9090/tcp
ethereum2-docker-compose_renderer_1 dumb-init -- node build/ap ... Up 8081/tcp
ethereum2-docker-compose_slasher_1 /app/slasher/slasher --con ... Up
ethereum2-docker-compose_validator_1 /app/validator/validator - ... Up 127.0.0.1:7500->7500/tcp,
127.0.0.1:8081->8081/tcp

error when used with docker-machine

all other containers booted correctly

ERROR: for prometheus  Cannot start service prometheus: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/home/xyz/Development/ethereum2-docker-compose/config/prometheus/prometheus-p.yaml\\\" to rootfs \\\"/var/lib/docker/overlay2/0859d586e611218284bc2e0a6cc0cb53ef1dba7598b9a9fd54d41d1d36c76993/merged\\\" at \\\"/var/lib/docker/overlay2/0859d586e611218284bc2e0a6cc0cb53ef1dba7598b9a9fd5``4d41d1d36c76993/merged/etc/prometheus/prometheus.yml\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ethereum2-docker-compose on  master [!?] 
⇡0% ➜ docker -v
cokecDocker version 19.03.4-rc1, build 4ba2b1c606

ethereum2-docker-compose on  master [!?] took 2s 
⇡0% ➜ docker-machine -v
docker-machine version 0.16.0, build 702c267f

no volumes currently

ethereum2-docker-compose on  master [!?] took 3s 
⇡0% ➜ docker volume ls                       
DRIVER              VOLUME NAME

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.