Skip to content

sudoc/iri-playbook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOTA IRI Fullnode Ansible Playbook

Documentation Status

This playbook will install and configure and IOTA full node.

It will:

  • Install and configure IOTA IRI full node
  • Install and configure iota-pm: a GUI to view/manage peers
  • Password protect iota-pm
  • Run iota-pm and IRI as systemd controlled processes (unprivileged users)
  • Configure firewalls
  • NEW: Monitoring for IRI + Graphs amazing work of Chirs Holliday https://github.com/crholliday/iota-prom-exporter

For a "click-'n-go" installation see: Getting Started Quickly

For the full tutorial use the Wiki

Screenshots Monitoring

graph_a

graph_b

graph_c

Requirements

A redhat/centos or debian/ubuntu node where you want to have the node running on.

Latest Ansible installation for your distribution (http://docs.ansible.com/ansible/latest/intro_installation.html)

Playbook was tested with:

  • Ansible>=2.4
  • Ubuntu 16.04
  • Ubuntu 17.04
  • CentOS 7.4

Please feel free to contribute.

Configure host

This playbook can be installed locally or on a remote host (given you have SSH access to it)

If you want to install to a remote host, edit the inventory and set the name and IP accordingly (i.e. hostname FQDN)

Configure options

In groups_vars/all/*.yml you will find files with some configuration options and comments.

Important value to edit is the iotapm_nginx_password in the group_vars/all/iotapm.yml. Set a strong password.

To edit the password and/or add more users refer to the wiki link up in this README doc.

Edit other options if you want to tweak anything (most importantly check the latest IRI version and edit accordingly).

Run playbook

Simply run:

ansible-playbook -i inventory -v site.yml

Installing Specific Roles

You can install a specific role (or skip) by using:

--tags=first-role-name,second-role-name or --skip-tags=rolename,etc

For example, to skip the monitoring role:

ansible-playbook -i inventory -v site.yml --skip-tags=monitoring_role

To find available roles run grep "\- .*_role$" roles/*/tasks/main.yml:

# grep "\- .*_role$" roles/*/tasks/main.yml
roles/iotapm/tasks/main.yml:    - iotapm_role
roles/iri/tasks/main.yml:    - iri_role
roles/monitoring/tasks/main.yml:    - monitoring_role

Note that some roles are dependant on other roles having been installed. For example, the monitoring_role depends on iri_role.

Specifying tags or skipping tags is mostly handy when upgrading a role.

Reinstall or Reconfigure

To re-install iri (this will remove any existing database) or for example to install a different version after having edited the version in the groups_vars/all/*.yml file:

First, if you already have iri running:

sudo systemctl stop iri

Then:

ansible-playbook -i inventory -v site.yml -e "remove_iri_workdir=1"

About

IOTA IRI Fullnode Installation Playbook

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 66.1%
  • Shell 33.9%