Skip to content

Ansible based Zeitgeist substrate blockchain node deployment repo

License

Notifications You must be signed in to change notification settings

Nexus2k/zeitgeist-ansible

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages