back to docs
mainnet

Ethereum Mainnet

Run your own Ethereum mainnet RPC node with execution and consensus clients

Full Ethereum mainnet node with both execution and consensus layers. You get your own private RPC endpoints for real-value transactions.

Why Docker?

I run everything in containers, and honestly it just makes life easier. A few reasons why I prefer this setup:

  • Resource limits in one place. You can cap CPU and memory directly in the docker-compose.yml without touching any system config. No surprises when one service decides to eat all your RAM.
  • Easy to manage. Start, stop, restart, update. It’s all just docker compose commands. No messing around with systemd units or manual process management.
  • Nginx fits in naturally. Putting Nginx in front as a reverse proxy works great with this setup. You get SSL, IP whitelisting, and rate limiting without much extra effort.
  • Isolated and clean. Each client runs in its own container. If something breaks, you can tear it down and bring it back up without affecting the rest of the system.

It’s not the only way to run an Ethereum node, but it’s the way I keep coming back to.

Client Comparison

Nethermind + LighthouseGeth + Prysm
Storage~954 GB~1 TB+
Initial Sync~6 hours~6-12 hours
Memory UsageLowerHigher
Note
Storage and sync times vary based on hardware, network speed, and current chain size. Figures above are estimates from real-world usage and may differ in your environment.

Available guides

Command Palette
Search for a command to run...