ethereum-rpc-docker

Gitea

Open-source docker-compose supported configurations for 90 mainnet chains (+81 testnets). 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 a broad fleet 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 a production subset of these same node configurations on our fleet, keep them synced, upgrade through hardforks automatically, and monitor every node. You get reliable RPC without the operational overhead.

Quickstart

Here's how easy it is to self-host. Pick your nodes — always base.yml and rpc.yml first:

git clone https://git.stakesquid.eu/StakeSquid/ethereum-rpc-docker.git && cd ethereum-rpc-docker # .env: IP, CHAINS_SUBNET, DOMAIN, MAIL, WHITELIST (see README for the full example) # pick your nodes — always base.yml and rpc.yml first: COMPOSE_FILE=base.yml:rpc.yml:ethereum-mainnet-geth-pruned.yml docker compose up -d ./show-status.sh # status of all nodes

See? That honestly works. And it works across our supported configurations (90 mainnets + 81 testnets) — just change the compose file.

Supported Configurations

We maintain docker-compose node configurations for:

  • Ethereum Mainnet — Geth, Nethermind, Besu, Erigon, Reth
  • All L2s — Arbitrum, Optimism, Polygon, zkSync, Starknet, Base, and more
  • Testnets — Sepolia, Holesky, and every L2 testnet
  • The long tail — 90 mainnet + 81 testnet supported configurations

Each node configuration 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 repository.

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

View Releases on Gitea

Note: Until we have a data/releases.json feed, we link directly to Gitea. 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.

Browse Snapshots

Documentation & Help

The repo includes:

  • README — Overview and setup guide
  • VIBE — Operations and debugging guide
  • Gitea 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 — The chains we run in production, continuously
  • 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 node configurations. You just don't have to run it yourself.

Interested? We'd love to talk.

Get in Touch