There are two ways to obtain a Reth Docker image:
Once you have obtained the Docker image, proceed to Using the Docker image.
Reth requires Docker Engine version 20.10.10 or higher due to missing support for the
clone3syscall in previous versions.
Reth docker images for both x86_64 and ARM64 machines are published with every release of reth on GitHub Container Registry.
You can obtain the latest image with:
docker pull ghcr.io/paradigmxyz/reth
Or a specific version (e.g. v0.0.1) with:
docker pull ghcr.io/paradigmxyz/reth:v0.0.1
You can test the image with:
docker run --rm ghcr.io/paradigmxyz/reth --version
If you can see the latest Reth release version, then you've successfully installed Reth via Docker.
To build the image from source, navigate to the root of the repository and run:
docker build . -t reth:local
The build will likely take several minutes. Once it's built, test it with:
docker run reth:local --version
There are two ways to use the Docker image:
To run Reth with Docker, run:
docker run \
-v rethdata:/root/.local/share/reth/mainnet/db \
-p 9001:9001 \
-p 30303:30303 \
-p 30303:30303/udp \
--name reth \
The above command will create a container named
reth and a named volume called
rethdata for data persistence.
It will also expose the
30303 port (TCP and UDP) for peering with other nodes and the
9001 port for metrics.
It will use the local image
reth:local. If you want to use the GitHub Container Registry remote image, use
ghcr.io/paradigmxyz/reth with your preferred tag.
To run Reth with Docker Compose, run the following command from a shell inside the root directory of this repository:
docker compose -f etc/docker-compose.yml -f etc/lighthouse.yml up -d
If you want to run Reth with a CL that is not Lighthouse:
- The JWT for the consensus client can be found at
etc/jwttoken/jwt.hexin this repository, after the
etc/generate-jwt.shscript is run
- The Reth Engine API is accessible on
To check if Reth is running correctly, run:
docker compose -f etc/docker-compose.yml -f etc/lighthouse.yml logs -f reth
docker-compose.yml file will create three containers:
lighthouse.yml file will create two containers:
Grafana will be exposed on
localhost:3000 and accessible via default credentials (username and password is
admin), with two available dashboards:
- Ethereum Metrics Exporter (works only if Lighthouse is also running)
To interact with Reth you must first open a shell inside the Reth container by running:
docker exec -it reth bash
If Reth is running with Docker Compose, replace
reth-reth-1 in the above command
Refer to the CLI docs to interact with Reth once inside the Reth container.
This allows importing existing Grafana dashboards, without running Reth in Docker.
docker compose -f etc/docker-compose.yml up -d --no-deps grafana
After login with
admin:admin credentials, Prometheus should be listed under
Grafana datasources. Replace its
Prometheus server URL so it points to locally running one. On Mac or Windows, use
http://host.docker.internal:9090. On Linux, try