A set of ansible playbooks to setup SKALE Proxy and Block explorer in the cloud
Make sure that you have Python 3.7+ installed
- Clone this repo
- Create venv & install requrements:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Create inventory for your network:
cp inventory-template inventory
- 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
- Copy SKALE Manager ABI file for your network to
files/abi.json
- 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 settingcert_mode=custom
in inventory. Alternatively if you have DigitalOcean account you can putcert_mode=certbot
and adddo_token
andemail
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.
Once everything is in place, run:
ansible-playbook -i inventory main.yaml
If you have any questions please ask our development community on Discord.
All contributions are made under the GNU Lesser General Public License v3. See LICENSE.