ethereum-rpc-docker
Open-source docker-compose stacks for 100+ Ethereum-compatible networks. Free, documented, and production-ready.
The Honest Pitch
You can run this yourself — it's free, documented, and we help. We publish everything: the Dockerfiles, the compose configurations, the health checks, the monitoring. If you have Docker and a server, you have an RPC node.
But here's the thing: running 100+ networks reliably is hard. There are hardforks to track, client updates to apply, sync issues to debug, peer management to handle. Someone needs to monitor it all, 24/7.
That's where we come in. We run these same stacks on our fleet, we keep them synced, we upgrade through hardforks automatically, we monitor every node. You get reliable RPC without the operational overhead.
Quickstart
Here's how easy it is to self-host. This gets you a working Ethereum Mainnet RPC endpoint:
# Clone the repo
git clone https://github.com/StakeSquid/ethereum-rpc-docker.git
cd ethereum-rpc-docker
# Start Ethereum Mainnet (Nethermind client)
docker-compose -f stacks/ethereum-mainnet-nethermind.yml up -d
# That's it. You now have a working Ethereum RPC endpoint.
# Check it:
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \
http://localhost:8545
See? That honestly works. And it works for 100+ other networks too — just change the compose file.
Supported Networks
We maintain docker-compose stacks for:
- Ethereum Mainnet — Geth, Nethermind, Besu, Erigon
- All L2s — Arbitrum, Optimism, Polygon, zkSync, Starknet, Base, and more
- Testnets — Sepolia, Holesky, Goerli (archived), and every L2 testnet
- The long tail — Every EVM-compatible chain we can find
Each stack includes:
- Production-ready client configuration
- Health checks and auto-restart
- Standardized RPC port (8545)
- Standardized metrics port (9090)
- Volume mounts for chain data persistence
See the full list in the stacks/ directory.
Releases & Changelog
We publish releases that aggregate important hardfork and upgrade information from across the ecosystem. Each release includes:
- Client version bumps for security/hardfork support
- New network additions
- Configuration improvements
- Deprecations and removals
Note: Until we have a data/releases.json feed, we link directly
to GitHub. This is intentional — we want you to see the raw
information, not a filtered version.
Need a Snapshot?
We also sell chaindata snapshots for the networks we operate. For many long-tail chains, no public snapshot exists, and syncing from genesis takes days to weeks. Our snapshots are the exact ones our production fleet restores from — fresh, verified, and ready to use.
Documentation & Help
The repo includes:
- README — Overview and setup guide
- Configuration docs — Customizing clients and settings
- Monitoring docs — Health checks and metrics
- GitHub Issues — Bug reports and feature requests
Have a question? Open an issue. Found a bug? Open an issue. Want a new network supported? Open an issue (or better, a PR).
The Managed Service
Self-hosting is great. But if you want someone else to handle the operations, StakeSquid OÜ offers a managed service:
- We run it — On our fleet of bare-metal servers
- We keep it synced — All networks, all the time
- We upgrade it — Through every hardfork, automatically
- We monitor it — 24/7, with alerting and auto-recovery
- We support it — Real help from the people who built it
It's the same software, the same configurations. You just don't have to run it yourself.
Interested? We'd love to talk.