Updating your Diva client
Last updated
Last updated
Note: This is only available for those with the latest versions of the docker compose for diva-alpha-net.
Run the installation script by executing:
cd ~/diva-alpha-net
./run.sh
Inside the diva-alpha-net
folder, and select option 2. Update Diva
:
Navigate to the Diva directory containing the docker-compose.yml file and bring the service down.
cd diva-alpha-net
docker compose down
Move all contents in the original Diva directory into a new directory diva-alpha-net-bak
.
mv ~/diva-alpha-net ~/diva-alpha-net-bak
Clone the latest version of the diva-alpha-net git repository into the original parent folder on your system.
git clone https://github.com/shamirlabs/diva-alpha-net ~/diva-alpha-net
.env
filecp ~/diva-alpha-net/.env.example ~/diva-alpha-net/.env
.env
fileOpen up the old .env
file,
sudo nano ~/diva-alpha-net-bak/.env
and retrieve the following environment variables...
EXECUTION_CLIENT_URL
CONSENSUS_CLIENT_URL
DIVA_API_KEY
DIVA_VAULT_PASSWORD
TESTNET_USERNAME
and enter them into the corresponding variables in your new .env
file.
sudo nano ~/diva-alpha-net/.env
Copy the .diva
folder from the ~/diva-alpha-net-bak
folder to the new folder ~/diva-alpha-net
:
cp -r ~/diva-alpha-net-bak/.diva ~/diva-alpha-net/.diva
Open up the docker-compose.yml
file.
cd diva-alpha-net
sudo nano docker-compose.yml
Amend the ports:
section of the grafana
service to "3001:3000".
This is so that the Grafana service running on docker does not clash with your native Grafana service.
# Metrics
grafana:
image: grafana/grafana:10.2.5
user: root
container_name: grafana
profiles:
- metrics
hostname: grafana
restart: unless-stopped
ports:
- "3001:3000"
volumes:
- ${DIVA_DATA_FOLDER:-.}/grafana/config:/etc/grafana/provisioning
- ${DIVA_DATA_FOLDER:-.}/grafana/data:/var/lib/grafana
- ${DIVA_DATA_FOLDER:-.}/grafana/config/grafana.ini:/etc/grafana/grafana.ini
You will then be able to run both Grafana services without conflicts. Access each of the dashboards via:
Native Grafana: <IP_address:3000>
Docker Grafana: <IP_address:3001>
Open up the docker-compose-lodestar-vc.yml
file.
sudo nano ~/diva-alpha-net/docker-compose-lodestar-vc.yml
Append the following contents in this file.
# Monitoring configuration
prometheus:
extends:
file: docker-compose.yml
service: prometheus
node-exporter:
extends:
file: docker-compose.yml
service: node-exporter
grafana:
extends:
file: docker-compose.yml
service: grafana
Note: You must stop and delete all Diva containers before starting the services again.
So first, make sure all Diva containers are stopped and removed identify their container IDs.
cd ~/diva-alpha-net
docker compose down
docker ps -a
Expected output: You should see an empty list.
If you still see a list of Diva related containers like below,
then you can remove all Diva containers listed using one of the following methods:
One by one using theCONTAINER ID
if you have other non-Diva docker containers running
docker stop <CONTAINER ID>
docker rm <CONTAINER ID>
All at once if you only have Diva containers running
docker rm -f $(docker ps -a -q)
cd ~/diva-alpha-net
# Choose one of the following to run according to the setup method you are on
docker compose -f up -d #For Default method
docker compose -f docker-compose-lodestar-vc.yml up -d #For Experimental method
Monitor the logs to make sure there are no errors.
docker logs diva -f
Expected output: There are 3 things to look out for - "connected to execution client", "consensus client available", and "running diva client".