New Validators: Bridge Node Setup
Instructions for new bridge validators
While it is possible to use a common node as a validator node and a bridge node, it is highly recommended to have two separate nodes.

I. Prerequisites

  1. 1.
    A functional Ubuntu 16.04 server launched using a trusted hosting provider.
    • Record the IP address (required for file setup).
    • Setup ssh access to your node via public+private keys (using passwords is less secure).
    • When creating the node, set a meaningful hostname that can identify you (e.g. validator-0x... ).
  2. 2.
    On your local machine install:
    • Python 2 (v2.6-v2.7)/Python3 (v3.5+)
    • Ansible v2.3+
    • Git

II. Configuration

1) Clone the bridge repository and cd to the bridge-nodejs folder
git clone
cd deployment-bridge/bridge-nodejs
2) Create the file hosts.yml from hosts.yml.example
cp hosts.yml.example hosts.yml
hosts.yml should look like the following:
ansible_user: ubuntu
syslog_server_port: "udp://"
3) Change the example values to the new settings and save the file.
change to dai. This is the bridge name and references group_vars/dai.yml.
Set to your remote server IP address.
ansible_user: ubuntu
Set to user that will ssh into the node. This is typically ubuntu or root.
Set to the private key for the specified validator address.
syslog_server_port: "udp://"
Port specification for bridge logs. This value will be provided by an administrator in a private message.
4) hosts.yml should now include your values:
ansible_user: ubuntu
syslog_server_port: "<your_protocol>://<ip>:<port>"

III. Execution

The playbook can be executed once Ansible is installed and all configuration variables are set.
It will automatically install Docker, docker-compose, Python, Git and its dependencies (such as curl, ca-certificates, apt-transport-https, etc.) to the node. This playbook also creates an additional non-sudo docker user.
ansible-playbook -i hosts.yml site.yml

Useful arguments:

To be used with the ansible-playbook command, for example:
`ansible-playbook -i hosts.yml site.yml --ask-become-pass`
  • --ask-pass - ask for the password used to connect to the bridge VM.
  • --ask-become-pass - ask for the become password used to execute some commands (such as Docker installation) with root privileges.
  • -i <file> - use specified file as a hosts.yml file.
  • -e "<variable>=<value>" - override default variable.
  • --private-key=<file_name> - if private keyfile is required to connect to the ubuntu instance.

IV. Bridge service commands

The Bridge service is named poabridge. Use the default SysVinit commands to start, stop, restart, and rebuild the service and to check the status of the service.
Commands format:
sudo service poabridge [start|stop|restart|status|rebuild]

V. Logs

If the syslog_server_port option in the hosts.yml file is not set, all logs will be stored in /var/log/docker/ folder in the set of folders with the bridge_ prefix.
If the syslog_server_port is set, logs will be redirected to the specified server and cannot be accessed on the bridge machine.
syslog_server_port: "<protocol>://<ip>:<port>" # When this parameter is set all bridge logs will be redirected to the <ip>:<port> address.
Copy link
On this page
I. Prerequisites
II. Configuration
III. Execution
IV. Bridge service commands
V. Logs