Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 2.6 KB

README.md

File metadata and controls

85 lines (56 loc) · 2.6 KB

SKALE Proxy Provision

Discord

A set of ansible playbooks to setup SKALE Proxy and Block explorer in the cloud

1. Installation

Make sure that you have Python 3.7+ installed

  1. Clone this repo
  2. Create venv & install requrements:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2. Setup

  1. Create inventory for your network:
cp inventory-template inventory
  1. Configure inventory

If you need only proxy - remove [explorer] section.

[proxy]
proxy-0 ansible_host= ansible_ssh_user=

[explorer]
explorer-0 ansible_host= ansible_ssh_user=


[all:vars]
ansible_ssh_user='' # username on machine(s) - e.g. ubuntu
ansible_python_interpreter=/usr/bin/python3

base_path= # home path on the machine(s) - e.g. /home/ubuntu
proxy_domain='' # proxy domain name
explorer_domain='' # explorer domain name (optional for proxy-only setup)
eth_endpoint='' # Ethereum Mainnet endpoint

cert_mode=  # 'certbot' - generate using certbot / custom - upload your own

do_token= # optional - DigitalOcean token (for 'certbot' cert_mode)
email= # optional - SSL cert email (for 'certbot' cert_mode)

heartbeat_url= # optional - URL for heartbeat monitoring
network_name= # optional - network name for dapp metrics

mysql_user= # optional - MySQL user for metrics db
mysql_password= # optional - MySQL password for metrics db
mysql_root_password= # optional - MySQL root password for metrics db
  1. Copy SKALE Manager ABI file for your network to files/abi.json
  2. Configure SSL. You can use your own certificates by placing them to files/ssl/proxy / files/ssl/explorer (if explorer is necessary) on the host machine and setting cert_mode=custom in inventory. Alternatively if you have DigitalOcean account you can put cert_mode=certbot and add do_token and email to inventory to issue free Let's encrypt certificates using certbot.

    Note: Right now only DigitalOcean can be used to complete ACME challenge for 'certbot' mode.

3. Usage

Once everything is in place, run:

ansible-playbook -i inventory main.yaml

Contributing

If you have any questions please ask our development community on Discord.

Discord

License

GitHub All contributions are made under the GNU Lesser General Public License v3. See LICENSE.