Docker
Author: [ jLeopoldA ]
System Requirements
CPU
OS
RAM
DISK
8 Cores
Ubuntu 24.04.1 LTS
32GB
1.1TB
Pre-Requisites
Update System
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -ySet Up Firewall
Set Explicit Default Firewall Rules
sudo ufw default deny incoming && sudo ufw default allow outgoingAllow SSH
sudo ufw allow 22/tcpAllow RPC Connections with Erigon Sepolia
sudo ufw allow 8545Allow P2P Communication
sudo ufw allow 30303Allow Prometheus Monitoring
sudo ufw allow 9090Enable Firewall
sudo ufw enableCheck Status / Current Rules of UFW
sudo ufw status verboseInstall Docker & Docker-Compose
Installation
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
# Install Docker Packages including Docker Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Verify Docker Engine Installation
sudo docker run hello-worldBuild Ethereum Sepolia Archive Node with Erigon
Create Directory
mkdir -p /root/sepolia && cd /root/sepoliaCreate docker-compose.yml
echo "services:
erigon:
image: "erigontech/erigon:v3.0.0"
container_name: erigon-sepolia
ports:
- "30303:30303"
- "8545:8545"
- "9090:9090"
volumes:
- erigon_data:/root/erigon/.local/share/erigon
command:
- "--chain=sepolia"
- "--http"
- "--http.api=net,web3,eth,debug"
- "--http.corsdomain=*"
- "--http.addr=0.0.0.0"
- "--http.port=8545"
- "--http.vhosts=*"
- "--prune.mode=archive"
restart: unless-stopped
volumes:
erigon_data:" > docker-compose.ymlRun Ethereum Sepolia Archive Node
# Run the below code from within /root/sepolia
docker compose up -dInteract with Sepolia Archive Node
Check Logs of Erigon Sepolia
docker compose logs erigon-sepoliaStop Archive Node
docker stop erigon-sepoliaQuery Sepolia Archive Node
Check Block Number
curl -H "Content-Type: application/json" \
-X POST --data '{"jsonrpc":"2.0", "method":"eth_blockNumber", "params":[], "id":1}' http://localhost:8545
# Response should have a different "result" value.
{"jsonrpc":"2.0","id":1,"result":"0x754ee0"}Last updated