Docker Operations
Dockerfiles
Section titled “Dockerfiles”The repository provides several Dockerfiles in etc/docker/:
| Dockerfile | Purpose |
|---|---|
Dockerfile.client | Main Base Reth Node client |
Dockerfile.builder | Block builder service |
Dockerfile.devnet | Local development network setup |
Dockerfile.websocket-proxy | WebSocket proxy for flashblock streaming |
Building Images
Section titled “Building Images”Client Node
Section titled “Client Node”docker build -t base-reth-node -f etc/docker/Dockerfile.client .Builder
Section titled “Builder”docker build -t base-builder -f etc/docker/Dockerfile.builder .WebSocket Proxy
Section titled “WebSocket Proxy”docker build -t websocket-proxy -f etc/docker/Dockerfile.websocket-proxy .Running Containers
Section titled “Running Containers”docker run -it --rm \ -p 8545:8545 \ -p 8546:8546 \ -p 30303:30303 \ -p 30303:30303/udp \ -p 9222:9222 \ -p 9222:9222/udp \ -v /path/to/data:/data \ base-reth-node [OPTIONS]Common flags:
-p 8545:8545— HTTP JSON-RPC-p 8546:8546— WebSocket JSON-RPC-p 30303:30303(TCP/UDP) — discv4 P2P discovery and RLPx-p 9222:9222(TCP/UDP) — Reth discv5 peer discovery-v /path/to/data:/data— Persistent data volume
Bootnode egress
Section titled “Bootnode egress”In addition to the ingress ports above, the node needs outbound access to the Base bootnodes for initial peer discovery. Operators running behind strict egress filtering must allow outgoing traffic to ports 30301 (TCP/UDP) and 9200 (UDP); without these, the node cannot bootstrap into the peer set.
Docker Compose
Section titled “Docker Compose”The repository includes a Docker Compose configuration for running a local devnet:
docker compose --env-file etc/docker/devnet-env \ -f etc/docker/docker-compose.yml up -d --buildSee Local Devnet for the full devnet setup guide.
Production Images
Section titled “Production Images”For production use, the official images are published at:
ghcr.io/base/node-rethSee the base/node repository for release tags and configuration.