Skip to main content

Run with Docker

As both clients must communicate with each other via the Engine API, we highly recommend running with Docker Compose as it eliminates the need to manage container networking manually.

We provide an official repository with useful scripts: overprotocol/docker-scripts. Here is a brief guide to run a full Over Protocol node. For running a validator node, please refer to the repository.

  1. Clone docker-scripts repo
git clone https://github.com/overprotocol/docker-scripts.git
mv docker-scripts overprotocol
cd overprotocol
  1. Check if Docker is available
docker -v
  1. Export your public IP for discovery
export PUBLIC_IP=$(curl -s ifconfig.me)
echo $PUBLIC_IP
  1. Initialize data directory and JWT token
make init
  1. Run a full node
docker compose -f mainnet.yml up -d
  1. Health check your node
curl 127.0.0.1:3500/eth/v1/node/syncing | jq

This will fetch the current status of the consensus client. If sync_distance is equal to 0, this means your node is well synchronized.

{
"data": {
"head_slot": "22916",
"sync_distance": "0",
"is_syncing": false,
"is_optimistic": false,
"el_offline": false
}
}

For debugging purposes, you can check the logs with the following commands:

docker logs kairos -f  # To inspect the execution client
docker logs chronos -f # To inspect the consensus client

Congratulations! You’re now running an OverProtocol node.