Updating your Diva client
Update automatically
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.shInside the diva-alpha-net folder, and select option 2. Update Diva:

Update manually
1. Stop the current Diva client
Navigate to the Diva directory containing the docker-compose.yml file and bring the service down.
cd diva-alpha-net
docker compose down2. Backup the current Diva directory
Move all contents in the original Diva directory into a new directory diva-alpha-net-bak.
mv ~/diva-alpha-net ~/diva-alpha-net-bak3. Download the new version
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-net4. Create a new .env file
.env filecp ~/diva-alpha-net/.env.example ~/diva-alpha-net/.env 5. Edit the new .env file
.env fileOpen up the old .env file,
sudo nano ~/diva-alpha-net-bak/.envand 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/.env6. Migrate the data
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/.diva7. Preparing the docker compose file
Open up the docker-compose.yml file.
cd diva-alpha-net
sudo nano docker-compose.ymlAmend 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.iniYou 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>
8. Prepare the Lodestar docker compose file
Open up the docker-compose-lodestar-vc.yml file.
sudo nano ~/diva-alpha-net/docker-compose-lodestar-vc.ymlAppend 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: grafana9. Remove previous containers
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 -aExpected 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 the
CONTAINER IDif 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)9. Run the new Diva containers
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 methodMonitor the logs to make sure there are no errors.
docker logs diva -fExpected output: There are 3 things to look out for - "connected to execution client", "consensus client available", and "running diva client".

Last updated