Nexus2k / zeitgeist-ansible

Ansible based Zeitgeist substrate blockchain node deployment repo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

zeitgeist-ansible

Ansible scripts to deploy up to two Docker or native zeitgeist nodes.

Please Nominate or Tip Me!

Getting started

Prerequisits:

  • VPS or dedicated server meeting the Zeitgeist requirements (you might want to have a beefier machine as we're going to run two validators on one machine)
  • ansible (2.11.6+)
  • ansible-playbook (2.11.6+)

First copy the hosts.ini-sample to hosts.ini then:

  1. Rename the two my_node_* entries to a name you like, also replace the <IP of your server> with the actual IP of your server
  2. Copy/Rename host_vars/my_node_*.yml files to the same name you just called the host in the hosts.ini file.
  3. Update the values in the host_vars/my_node_*.yml files, you always want to:
  4. Update the node_name this is the node name your nodes will show up with in the Telemetry dashboards

Deployment

If you feel adventerous you can deploy the whole server using:

$ ansible-playbook -i hosts.ini all.yml

This will execute the following roles:

  • machine-setup
    • Setup Docker
    • Setup Journald
    • Setup motd (message of the day)
  • zeitgeist-node
    • Starts the zeitgeist nodes as docker containers
  • zeitgeist-node-native (use setup_native_nodes.yml)
    • Starts the zeitgeist nodes as native services
  • watchtower (not run automatically, run using ansible-playbook -i hosts.ini setup_watchtower.yml)
    • Sets up a watchtower container which monitors upstream container image repositories for new releases and upgrades automatically.

You can also run the individual roles using the setup_*.yml playbooks instead of all.yml.

Zeitgeist upgrades

To upgrade to the latest Zeitgeist version you can simply restart the containers using the setup_node.yml playbook.

Notes

Monitoring is not yet covered in these ansible playbooks. Do NOT run a Zeitgeist node w/o proper monitoring.

You should not use root user on the server, instead replace the ansible_user field in hosts.ini with an unpriviledged user (which has docker rights).

About

Ansible based Zeitgeist substrate blockchain node deployment repo

License:Apache License 2.0


Languages

Language:Jinja 100.0%