Eth Docker
Full Node Setup
Video Guide
For Testnet setups, replace all Holesky options with Hoodi.
Download & configure ETH Docker
Go to the ETH Docker repository and to get and run the installation commands.
cd ~ && git clone https://github.com/eth-educators/eth-docker.git && cd eth-docker
sudo usermod -aG sudo $USER
Exit your virtual machine/hardware and re-login to add your host user into the docker user group.
exit
After logging in again, install ETH Docker.
cd eth-docker
./ethd install
source ~/.profile
You can now run ethd
from anywhere. Configure the service:
ethd config
ETH Docker Terminal-UI Navigation
- Arrow & Tab: cycle options
- Space bar: select option
- Enter: confirm option
- Ctrl+C: exit view
Follow the prompts to:
- Choose Mainnet or Hoodi → Lido-compatible node (Community Staking / Simple DVT) → [Community Staking] CSM node
- Select your consensus and execution clients
- Use default Checkpoint Sync URL, yes for MEV Boost, select all relays, yes for Grafana dashboards, and set optional graffiti
- [For Testnet only] yes to generate validator keys: set quantity, password, save mnemonic, verify fee recipient on CSM Operator Portal
- [For Mainnet] no to generate keys here (use secure workflow in Key Generation for Mainnet guide)
Address Tabs
- Withdrawal Address
- Fee Recipient Address
Start ETH Docker
ethd start
Import validator keys
Move your validator keys into the /eth-docker/.eth/validator_keys
folder of your validator node. Testnet users that generated your validator keys using Eth Docker directly can skip this step.
Then change the user permissions of the folder and import the validator keys into your validator client.
sudo cp <path-to-keystore> ~/eth-docker/.eth/validator_keys
sudo chown -R $USER:$USER ~/eth-docker/.eth/validator_keys
ethd keys import
Upload deposit data
Copy the deposit data generated by the command below for uploading onto the Lido CSM Widget.
cat ~/eth-docker/.eth/validator_keys/deposit*json
View Logs
ethd logs <container_name> -f --tail 20
Containers:
blackbox-exporter consensus execution json-exporter
node-exporter promtail cadvisor ethereum-metrics-exporter
grafana loki prometheus validator
Useful commands
ethd help # list commands
ethd update # update all clients & stack
ethd down # stop ETH Docker
ethd restart # restart services
ethd terminate # delete and reinstall
Keep your clients up to date
To keep your clients and other packages up to date for network upgrades, security releases or minor improvements please follow this guide.