Useful Commands for SSV Mainnet
These commands assume the SSV Node stack is installed in $HOME/ssv-stack.
Environment
export SSV_STACK_DIR="$HOME/ssv-stack"
cd $SSV_STACK_DIR
Service Management
Start SSV Node, Key Generation, and DKG
docker compose --profile dkg up -d ssv-key-generation ssv-node ssv-dkg
Check Status
docker compose ps
docker compose logs --tail=100 ssv-node
docker compose logs -f ssv-node
docker compose logs -f ssv-dkg
Restart SSV Services
docker compose restart ssv-node ssv-dkg
Stop SSV Services
docker compose stop ssv-node ssv-dkg
Health and Metrics
Node Health
curl -s http://127.0.0.1:16000/v1/node/health | jq .
Metrics
curl -s http://127.0.0.1:15000/metrics | head
Port Checks
sudo ss -tulpn | grep -E '13001|12001|16000|15000|3030'
Key Files
List Operator Key Files
ls -la ssv-node-data
Backup Key Material
tar -czf ssv-node-key-backup.tar.gz \
ssv-node-data/private_key \
ssv-node-data/password
warning
Store key backups offline and never commit them to Git. The repository .gitignore excludes common key and archive formats, but operational discipline still matters.
Updates
git pull
docker compose pull ssv-node ssv-key-generation ssv-dkg
docker compose --profile dkg up -d ssv-key-generation ssv-node ssv-dkg
Optional Monitoring
The default BlockNth guide does not start Prometheus or Grafana.
# Start only after securing credentials and firewall rules.
docker compose up -d prometheus grafana alertmanager
# Stop monitoring services.
docker compose stop prometheus grafana alertmanager
Troubleshooting
Inspect Effective Configuration
docker compose config
Confirm Only SSV Services Are Running
docker compose ps --services --filter status=running
Expected default output:
ssv-node
ssv-dkg
ssv-key-generation may be absent from the running list because it exits successfully after preparing the operator key.
Recreate SSV Containers
docker compose --profile dkg up -d --force-recreate ssv-key-generation ssv-node ssv-dkg