Giter Site home page Giter Site logo

stefa2k / prysm-docker-compose Goto Github PK

View Code? Open in Web Editor NEW
59.0 8.0 18.0 163 KB

Run a stand-alone Prysm staking node with monitoring tools and own Ethereum 1 node out of the box!

License: MIT License

Shell 100.00%
ethereum docker-compose docker validator slasher beacon prysm prometheus grafana

prysm-docker-compose's People

Contributors

danbryan avatar j3t avatar pandawhisperer 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prysm-docker-compose's Issues

Update release tag for alpha.12

Hi, looks like the latest stable release tag is alpha.12.

The git commit hash is 802bdf5, and the corresponding Docker tag is HEAD-802bdf.

I've put this in my .env file and it seems to work fine.

The validator still reports being alpha.11, but the corresponding commit hash seems to be correct:

$ docker-compose exec validator /app/validator/image.binary --version
validator version Prysm/v1.0.0-alpha.11/802bdf5561a8c713fc2a8ae5b16cdb02b192e94a. Built at: 2020-06-17 18:50:29+00:00

vs.

$ prysm.sh validator --version
Starting Prysm validator --version
validator version Prysm/v1.0.0-alpha.12/802bdf5561a8c713fc2a8ae5b16cdb02b192e94a. Built at: 2020-06-17 18:58:22+00:00

Integrate ELK

Use

  • elasticsearch
  • kibana
  • logstash
  • minimal setup

Write docs for

  • minimal setup
  • filebeat

ERROR: Version in "./docker-compose.yml" is unsupported.

I'm getting this error when trying to run any of the YAML files with docker-compose up:

ERROR: Version in "./docker-compose.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

I'm running Ubuntu 18.04 LTS with the following Docker versions:

$ docker --version
Docker version 19.03.8, build afacb8b7f0
$ docker-compose --version
docker-compose version 1.17.1, build unknown

I've consulted https://docs.docker.com/compose/compose-file/, which tells me my engine should support up to version 3.8 of the YAML file format, but for some reason it doesn't.

I've also tried to replace the version number in the file(s) with some random lower versions, but then I get errors about certain extensions (such as logging) not being supported.

High Availability

  • Reverse proxy for backup services (geth + beacon)

  • Beacon connects to reverse proxy

  • Validator connects to reverse proxy

  • Slasher connects to reverse proxy

  • static IPs for containers OR no dns cache for haproxy

  • Testing

  • Create docker-compose.overide.yaml

  • Documentation (will happen here stefa2k/ansible-prysm#5)

  • Merge into master

createAccounts.sh not working for Onyx testnet (alpha.10/alpha.11)

Hi, first of all, thanks for the great work on this setup! I've spun up two Prysm validator setups for Onyx, one with the prysm.sh script, and one with this setup. The former was easier, but this one seems more flexible.

However, the createAccounts.sh script wasn't working for me (I know it comes without warranty!), so I took some time to figure out why. This is what I found:

  1. First of all, the deposit contract address ($BEACON_CONTRACT in createAccounts.sh) is wrong. I believe this is the address for the now-defunct Topaz network). It should be 0x0F0F0fc0530007361933EaB5DB97d09aCDD6C1c8 for Onyx.
  2. Even after changing the address, all the deposit transactions fail because they don't include the depositdata. This is because it's not properly extracted from the tempfile. Could be because of changes in Prysm, but the data is now located on line 8 instead of line 9. Changing createAccounts.sh:13 to RAWTXDATA=$(sed -n 8,1p /tmp/validatorcreateoutput | tr -d '\r') fixes this.
  3. Even with the deposit address and depositdata correct, some transactions (about 5% or so) fail due to running out of gas. Members of the Prysm Discord suggested setting the gas limit to 400,000 to avoid this.

I've forked the repo and will send you a pull request with the suggest changes.

Keep local configuration separate from upstream

Summary

As mentioned in #20 (comment), if one uses this repo to manage a Prysm installation, it is somewhat cumbersome to keep up to date with changes to the repo while also maintaining local configuration changes, some of which (like passwords) are mandatory.

For instance, I should pick my own validator key password and set it in .env and validator/keystore.json, but if one of these files is updated in the repository, my local changes will prevent me from pulling these updates.

We should devise a method to keep local changes to any configuration files separate from the repository, similar to how a local docker-compose.override.yaml can be used to make changes to the docker-compose configuration without having to edit docker-compose.yml.

Details

So far, I have identified the following files to be likely to contain local changes that should survive an upstream update:

Definitely have local changes (password)

  • .env (likely to change upstream)
  • validator/keystore.json (unlikely to change upstream)

Possibly have local changes (external IP, graffiti)

  • config/*.yaml

Decrease log size

Logs are now capped at 1gb per container (10x100mb)

  • figure out a good value
  • change settings

grafana errors - Data source not found

I see the grafana alerting constantly due to these errors:

grafana       | t=2020-08-24T18:55:24+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=5 name="NODE: 50 errors  or 100 warns in 1h" error="Could not find datasource Data source not found" changing state to=alerting
grafana       | t=2020-08-24T18:55:24+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=7 name="NETWORK: Participation rate below 66%" error="Could not find datasource Data source not found" changing state to=alerting
grafana       | t=2020-08-24T18:55:25+0000 lvl=eror msg="Alert Rule Result Error" logger=alerting.evalContext ruleId=4 name="VALIDATOR: Hourly earning <= 0" error="Could not find datasource

but the data is valid when inspecting and testing the alerts look ok.

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.