Deploying ENSNode with Docker
The Docker images are the easiest way to run or deploy the ENSNode suite of services, both locally and in the cloud.
ENSNode provides several Docker Compose files for different use cases:
docker/docker-compose.yml— base stack (mainnet by default): ensindexer, ensapi, ensrainbow, ensadmin, postgresdocker/docker-compose.devnet.yml— full stack against local devnet (ens-test-env), no.env.localfiles required
Before running the base stack, configure the required environment files:
cp apps/ensindexer/.env.local.example apps/ensindexer/.env.localcp apps/ensapi/.env.local.example apps/ensapi/.env.localcp apps/ensrainbow/.env.local.example apps/ensrainbow/.env.localEdit each .env.local to set your RPC URLs and any other required values, then run:
docker compose -f docker/docker-compose.yml up -d Docker Compose usage and commands See all use cases, commands, and configuration options in docker/README.md on GitHub.
View Docker Compose files on GitHub Browse the full docker/ directory including service definitions.
Note that while the default docker-compose.yml exposes each container’s port to the host machine (useful for development), you may only wish to expose ENSApi’s 4334 and avoid exposing services like ENSRainbow, ENSAdmin, and Postgres to the wider internet.