Skip to content

Releases: ethstaker/eth-docker

Version 2.18.0.4

13 Nov 23:32
Immutable release. Only release title and notes can be modified.
5dba2ad

Choose a tag to compare

This is an optional release

v2.18.0.3 broke ./ethd update. That release has been retracted.

Changes

  • Disable Prysm's beacon DB pruning, until Prysm fixes a bug related to it
  • Prompt for runc update on Ubuntu; note vulnerable runc versions on Debian
  • Change the default Hoodi checkpoint sync to https://hoodi.checkpoint.sigp.io
  • Change the default Traefik tag to 3.6. Traefik 3.6.1 is the first to work with Docker 29.0.0 and later
  • Major style refactor and improved CI

Bug fixes

  • Fix a bug keeping ./ethd from running on macOS. macOS now requires gawk: brew install coreutils newt bash gawk
  • Introduce a *-builder service to avoid building the same image multiple times
  • Compose V1 detection works again
  • ./ethd prune-history works when using Ethrex - but still does nothing ;)
  • Fix ./ethd update failure, introduced with style refactor in v2.18.0.3

Version 2.18.0.2

09 Nov 15:18
Immutable release. Only release title and notes can be modified.
3068b50

Choose a tag to compare

This release is optional, and recommended

2.18.0.0 and 2.18.0.1 broke Nimbus and Teku when MEV_BUILD_FACTOR was set. Those releases have been retracted.

The headline feature is MEV_BUILD_FACTOR to abstract control over local block building, so home stakers
can control their upload bandwidth better post-Fusaka.

Breaking changes

  • Require Ethrex v5.0.0 or later
  • Require mev boost v1.10.0 or later
  • Require Grandine 2.0.0 or later
  • Require Vero v1.3.0 or later

Changes

  • Introduce MEV_BUILD_FACTOR to control local block building. 100 means always build remote, 1-99 are percentages
    of the builder-boost-factor of the Validator Client, where 90 would build locally unless remote pays at least
    10% better.
  • ./ethd config runs a speed test and suggests a build factor
  • Prometheus retention time is configurable. Thanks @korentzari!
  • Offer Anchor SSV client on mainnet during ./ethd config
  • Support MEV Boost for Anchor
  • Support WS Websockets for Ethrex
  • Support max peers for Ethrex
  • Improve ssv node sample configuration
  • Increase Grandine peer count to 200. Thanks @saulusgrigaitis!
  • Erigon can now be run in distributed mode, with a CL on another server
  • Suggest history expiry when disk space is low
  • Remove Vero CL check before starting it. It now does this itself
  • Support commit boost PBS version during ./ethd version
  • Prompt user for Docker-CE update if it's below 28.5.2, because of the runc vulnerabilities
  • Use the client defaults for max peers, do not replicate these defaults in Eth Docker

Bug fixes

  • ./ethd update --refresh-targets no longer touches PG_DOCKER_TAG
  • Explicitly restrict Lodestar to v4 when IPV6=false, which fixes peering
  • Erigon WS port is now correctly set to the value of EL_WS_PORT
  • Adjusted source builds for Grandine and Ethrex
  • Fixed Ethrex entrypoint when EL_MINIMAL_NODE=false
  • Fix Nimbus startup failures when MEV_BUILD_FACTOR is set
  • Fix Teku startup failures when MEV_BUILD_FACTOR is set

Version 2.17.0.0

17 Oct 06:29
Immutable release. Only release title and notes can be modified.
fcbc9fc

Choose a tag to compare

This release is recommended

The headline feature is support for the Ethrex and Anchor clients.

Breaking changes

  • Require Erigon 3.1.0 or later
  • Require Lodestar 1.34.1 or later
  • Require Reth 1.8.0 or later
  • nodeexporter uses host networking, which uses a configurable port and requires changes to ufw if
    ufw has been placed "in front of" Docker, see Cloud Security and notes in .env

Changes

  • Support Ethrex execution client
  • Support Anchor SSV client
  • Support Prysm beacon DB pruning when CL_MINIMAL_NODE=true
  • Support DDNS with traefik-aws.yml, including automated CNAME creation
  • Prometheus can scrape targets on the host system, using host.docker.internal
  • Support Grandine doppelganger detection
  • ./ethd keys count now displays validator statuses
  • Support Reth DB repair
  • Remove Fluffy and Portal support. RIP.
  • Support Vero doppelganger detection
  • Expired Reth prunes tx lookups
  • Add Grandine dashboard to Grafana
  • More linting and dependabot: Strengthen automated checks

Bug fixes

  • chmod of the dkg-output directory fixed
  • Fix source builds throughout, they broke with recent Docker 28.5.x
  • Fix promtail regex and time parsing
  • Improve commit-boost sample config file
  • Reth obeys the LOG_LEVEL

Version 2.16.0.0

04 Jul 15:20
50d23e4

Choose a tag to compare

This release is recommended

The headline feature is execution layer history expiry, so an Ethereum node fits into roughly 1 TiB.

Breaking changes

  • Require Besu 25.7.0, use promoted Besu pruning parameters without -X

Changes

  • Support pre-merge history expiry for all execution layer clients: ./ethd prune-history
  • Geth archive node fresh sync uses path-based state scheme
  • Enable Vero keymanager API
  • ./ethd install can apply host-level optimizations
  • ext-network.yml now is controlled by the DOCKER_EXT_NETWORK variable and no longer
    needs to be edited directly
  • Remove deprecated VC parameter from Teku
  • Improve Grafana dashboards
  • The size of ANCIENT_DIR is shown during ./ethd space, if it is set
  • ./ethd resync-execution also removes contents of ANCIENT_DIR, if it is set
  • Add --trace option to ./ethd update and ./ethd keys. Please be careful, the output may include secrets.
  • Update Lido exit oracles on Hoodi and Mainnet
  • Remove pre-Pectra migration logic
  • Update Siren and Prysm repo locations
  • Update Eth Docker repo location to ethstaker organization, from eth-educators

Bug fixes

  • Remove an extra https:// in default Hoodi relays
  • Fix ./ethd prune-reth command
  • Fix detection logic for Erigon Caplin

Version 2.15.3.0

13 May 08:47
5c972f2

Choose a tag to compare

This release is optional, yet recommended

Changes

  • Support pre-merge history expiry with Geth, Nethermind and Nimbus-EL: ./ethd prune-history
  • Offer Nimbus EL alpha during ./ethd config if on Hoodi or Sepolia
  • Support Era1/Era file import for Nimbus EL
  • Support Fluffy Portal client for use with Nimbus EL
  • Offer Teku when configuring Ephemery testnet during ./ethd config
  • Nag users about old Docker Compose and about hosts that haven't been updated in 300+ days
  • Erigon's current expiry changed to EL_MINIMAL_NODE=aggressive, to support coming pre-merge expiry
  • Switch users to new Offchainlabs Prysm repos
  • Switch users to new Besu tags
  • Update Lido default oracles on Hoodi
  • Bump cadvisor to 0.52.1
  • Enable cadvisor to detect OOM events
  • Interactive ./ethd update writes a log into /tmp
  • Support doppelganger protection in SSV 2.3.1 and later
  • Create .env.bak earlier when migrating .env, improve the error handler: Better chance a backup exists
    and user is not left with a broken .env if ./ethd update fails
  • Increase Web3signer heap to 6g. There is a memory issue here somewhere - a remote signer should work
    just fine with 2g, and mine does. If yours takes >2g on startup, recommend discussing with Consensys so
    this can be fixed.

Bug fixes

  • Fix Lighthouse IPv6 ENR
  • Nimbus EL Compose labels cleaned up
  • Resolve an incompatibility with Docker Compose 2.17.2 and earlier
  • Exact match for --help - can now run ./ethd cmd run --rm execution --help for example and get the help
    screen for the execution layer client, not the help screen for ./ethd
  • Fix Nimbus slottime source build
  • ethereum-metrics-exporter will query the consensus service when used in a Lido x Obol setup

Version 2.15.2.0

20 Apr 22:18
6940171

Choose a tag to compare

This release is optional, yet recommended

Changes

  • Support Vero "in a box" with multiple Ethereum nodes, by introducing additional aliases
  • Better support for Caplin
  • Split EL and CL archive nodes
  • Better PostgreSQL update
  • ./ethd update runs in screen by default: Use ./ethd update --non-interactive to override that
  • Default to PostgreSQL 17
  • Source build with Go 1.24
  • New SSV Grafana dashboard
  • Dependency upgrades, such as ethereum-metrics-exporter and pre-commit-hooks
  • Web3signer heap is configurable
  • ./ethd update refactor to eliminate "did not migrate an .env variable" style bugs
  • Hoodi network support in ./ethd config
  • Caplin support in ./ethd config
  • Besu no longer defaults to "high spec" on 64 GiB RAM - I don't know that Besu may use the RAM. If you want it
    to, use EL_EXTRAS
  • Query history expiry when using Erigon: Expect this to change again as history expiry gets fleshed out
    post-Pectra
  • A small zoo of messaging improvements to make things (hopefully) clearer

Bug fixes

  • Custom NETWORK as a github repo adjusted to work again, this had been broken for a while. Thanks early Hoodi!
  • Lido Obol works with Lodestar

Version 2.15.1.0

04 Feb 11:40
2398ebc

Choose a tag to compare

This release is mandatory for users of SSV DKG

Changes

  • Support SSV DKG 3.x. Please adjust ssv-config/dkg-config.yaml manually to add a dot . in front of every path.
    See ssv-config/ssv-config-sample.yaml for an example
  • Replace Xatu with Contributoor. Thanks @samcm!
  • Support Erigon 3 beta
  • Add a MINIMAL_NODE option for nodes that implement EIP-4444 and expire pre-merge history. At present, only
    Erigon 3 beta
  • ./ethd config checks the contents of JWT_SECRET more closely. Thanks @b0a7!
  • Add SSV Pulse benchmark
  • No longer suggest our own GRAFFITI and use the client default
  • ethdo now prints debug log lines

Bug fixes

  • Nimbus works on Gnosis
  • Fix Lodestar source build
  • Fix Nimbus source builds
  • Improve prep for changing ext-network.yml

Version 2.15.0.2

12 Jan 07:39
9bb19fe

Choose a tag to compare

This is an optional release with bug fixes

Changes

  • Add Xatu. Thanks @samcm for making it work!

Bug fixes

  • Do not offer Lido CSM SSV on ARM hardware
  • Fix Nimbus source build

Version 2.15.0.1

29 Dec 09:11
53e3b4f

Choose a tag to compare

This is a recommended release

Changes

  • Build Nethermind with .NET 9
  • Clearly identify Nethermind during ./ethd version
  • CloudFlare DDNS updates v6 address, as well as v4

Bug fixes

  • Legacy Prysm API token files are handled gracefully. Thanks @ThomasBlock for reporting and @BriungRi for finding root cause!
  • Eth Docker's utility commands such as ./ethd resync-consensus work when there are upper-case letters in the directory name, such as Eth-Docker
  • ./ethd space works with large volume lists

Version 2.15.0.0

11 Dec 15:40
73ce330

Choose a tag to compare

This is a recommended release

Breaking changes

  • Require Nethermind 1.30.0; use --data-dir in place of the deprecated --datadir

Changes

  • Support EL_MAX_PEER_COUNT for Reth. Thanks @victorelec14!
  • CL_NODE can be comma-separated for Nimbus. Thanks @b0a7!
  • Switch to ethstaker-deposit-cli, from staking-deposit-cli
  • The Docker root dir is detected upon startup, for ease of use with grafana.yml
  • The validator alias is configurable, to run multiple copies of Eth Docker on the same bridge network and still
    have ethd keys work correctly
  • The default IPv6 P2P port does not conflict with a host-mapped Prometheus
  • Compatible with Lighthouse v6.0.0

Bug fixes

  • Resolve .env getting root permissions when running sudo ./ethd update. Reminder that ethd is best run
    without sudo
  • The Nimbus execution layer client compiles again
  • CL_IPV6_P2P_PORT is retained during ethd update
  • Lido Obol exiter service survives Docker update, reboot, &c