Skip to content

Self-host ENSNode

This page will help you decide whether to self-host ENSNode or use the hosted instances. Includes architecture overview of the ENSNode stack (ENSIndexer, ENSDb, ENSRainbow, ENSApi).

Running your own ENSNode instance is helpful for those that wish to:

  • Maintain control over their own infrastructure
  • Ensure control over their own availability and uptime guarantees
  • Customize ENSNode’s behavior
  • Own the resulting Postgres index for custom queries or JOINs

Self-hosting today means standing up a fresh ENSNode instance from zero and waiting on an initial backfill - including the RPC bill that comes with it. ENSDb snapshots and ensdb-cli flatten that ramp.

The headline value props for self-hosters:

Cut your RPC bill

Skip the historical RPC fanout entirely. Pull down a published ENSDb snapshot instead of replaying 9+ years of ENS history through your own RPC provider - saving real money on every bootstrap, every CI run, every fresh environment.

Spin up in minutes, not days

Skip the long historical backfill too. A nearly up-to-date ENS index is ready as fast as you can download it - no specially configured Postgres required, no days of waiting. Perfect for hackathons, demos, prototypes, and any other time you need a fresh ENSDb fast.

Repeatable CI environments

Use snapshots as deterministic fixtures for tests and CI pipelines. Every run starts from the same well-known ENS state, with zero RPC dependency.

Confident release reviews

Diff snapshots across ENSNode versions to catch unexpected changes in indexed data - a powerful way to validate indexing-logic refactors before a release ships.

Easier self-hosting

Bootstrap your own ENSNode instance from a recent snapshot, then catch up to realtime from there. Less time waiting, more time building.

ensdb-cli: purpose-built ops tooling

`ensdb-cli` surfaces the operations you actually need day-to-day: inspect indexer instances, manage snapshots, clean up unused schemas, and more.

The Docker deployment option provides the easiest way to run the full ENSNode suite of services both locally and in the cloud.

An example Terraform deployment reference is available, showing an example of deploying the full ENSNode suite on Render with AWS managed domain names.