11. Setup your Bridge Node
Note: it is possible to use a common node as a validator node and a bridge node, but it is highly recommended to have two separate nodes.
- 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
hostnamethat can identify you (e.g.
- On your local machine install:
- Python 2 (v2.6-v2.7)/Python3 (v3.5+)
- Ansible v2.3+
- Clone the bridge repository and cd to the
git clone https://github.com/poanetwork/deployment-bridge.git cd deployment-bridge/bridge-nodejs
- Create the file
cp hosts.yml.example hosts.yml
hosts.yml should look like the following:
sokol-kovan: hosts: 127.0.0.1: ansible_user: ubuntu VALIDATOR_ADDRESS_PRIVATE_KEY: "aaaaaaaaaaaa" syslog_server_port: "udp://127.0.0.1:514"
- Change the example values to the new settings and save the file.
||Set to your remote server IP address.|
||Set to user that will ssh into the node. This is typically
||Set to the private key for the specified validator address.|
||Port specification for bridge logs. This value will be provided by an administrator in a private message.|
- hosts.yml should now include your values:
dai: hosts: <your_host_ip> ansible_user: ubuntu VALIDATOR_ADDRESS_PRIVATE_KEY: "<your_private_key>" syslog_server_port: "<your_protocol>://<ip>:<port>"
The playbook can be executed once Ansible is installed and all configuration variables are set.
It will automatically install
Git and its dependencies (such as
apt-transport-https, etc.) to the node. This playbook also creates an additional non-sudo docker user.
ansible-playbook -i hosts.yml site.yml
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
becomepassword used to execute some commands (such as Docker installation) with root privileges.
-i <file>- use specified file as a
-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
rebuild the service and to check the
status of the service.
sudo service poabridge [start|stop|restart|status|rebuild]
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
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.