Full Chiliz Spicy Testnet node setup automated with Ansible, running on a QEMU/KVM Ubuntu VM via Vagrant, with Prometheus + Grafana monitoring and public endpoint exposure via Nginx + ngrok.
On your host machine:
- QEMU/KVM + libvirt
- Vagrant + vagrant-libvirt plugin
- Ansible
- ngrok account + authtoken
Clone the repo and enter the directory:
git clone https://github.com/AxolotlHere/chiliz-node-files.git
cd chiliz-nodeCreate your .env file:
echo "NGROK_TOKEN=your_ngrok_token_here" > .envStart the VM:
vagrant up --provider=libvirtRun in this order:
1. Node setup — installs dependencies, builds geth from source, starts the node:
ansible-playbook -i inventory chiliz-node-setup.yml2. Prometheus — sets up metrics collection:
ansible-playbook -i inventory prometheus-setup.yml3. Grafana — sets up the monitoring dashboard:
ansible-playbook -i inventory grafana-setup.yml4. Nginx — sets up the reverse proxy:
ansible-playbook -i inventory nginx-setup.yml5. ngrok — exposes endpoints publicly:
./exec-ngrok.shOnce everything is running, get your public ngrok URL:
vagrant ssh
curl http://localhost:4040/api/tunnels | python3 -m json.tool | grep public_urlThen hit the following routes on that URL:
/rpc— Chiliz node RPC/metrics— node metrics/grafana— Grafana dashboard (additional feature outside of the said bonus)
username: admin
password: admin
vagrant ssh
sudo journalctl -u chiliz -fvagrant ssh
sudo systemctl status chiliz
sudo systemctl status prometheus
sudo systemctl status grafana-server
sudo systemctl status nginx
sudo systemctl status ngrok