The main focus of this release, apart from a boatload of minor bug fixes, is the introduction of a deploy script which I have been working on for quite a bit of time. The idea is to have a generic script (focus on generic) which allows you to setup a new VPS instance and fully and properly configure it with the steem client running, alongside with the bts_tools to monitor them behind nginx/uwsgi, automatic client restarting in case of crash, etc.
At the moment, this supports Vultr and Gandi as VPS providers, and Debian Jessie and Ubuntu 16.04 as operating systems [1]. Eventually, I plan to support more providers and OSes, please see my bounties post for more info and if you want to contribute (and win some Steem!)
Here's a minimal config file you can use to deploy a seed node from scratch: [2]
hostname: &hostname seed01
domain: steemnodes.com
os: ubuntu # debian, ubuntu. more to come...
unix_hostname: *hostname
unix_user: xxxxxxxx
unix_password: xxxxxxxx
# if true, the graphene client will be built directly on the new node,
# otherwise it gets deployed from the host currently running the install
compile_on_new_host: True
# additional keys to be installed in .ssh/authorized_keys for both root and normal user
ssh_keys:
- ssh-rsa xxxxxxxx
- ssh-rsa xxxxxxxx
# access to witness restricted APIs, used to create api_access.json
witness_api_access:
user: &witness_user bts
password: &witness_password xxxxxxxx
# config.yaml variables
config_yaml:
make_args: ['-j4']
build_environments:
steem:
cmake_args: ['-DENABLE_CONTENT_PATCHING=OFF', '-DLOW_MEMORY_NODE=ON']
clients:
steem:
data_dir: ~/.Steem_seed
run_cli_args: ['--rpc-http-allowip', '127.0.0.1']
seed_nodes: ['seed.riversteem.com:2001', 'seed.steemed.net:2001', 'steem-seed1.abit-more.com:2001',
'steem-id.altexplorer.xyz:2001', 'anyx.co:2001']
witness_user: *witness_user
witness_password: *witness_password
roles:
-
role: seed
name: *hostname
vps:
# config for vultr provider
vultr:
api_key: xxxxxxxx
name: *hostname
location: london
vps_plan: 8G # can be: 1G, 2G, 4G, etc.
ssh_keys: [xxxxxxxx, xxxxxxxx] # need to have at least the ssh key from the host performing the installation
save this as deploy_config.yaml, then run:
$ steem deploy_node deploy_config.yaml vultr
to create and install the new instance. If you already have created a VPS instance (because you want to host it somewhere else, for instance), then you can run:
$ steem deploy_node deploy_config.yaml 123.123.123.123
(replace 123.123.123.123 with the IP address of your node, make sure to have ssh access as root there)
Please note that it's still alpha/beta quality, so feedback is very welcome!
Full changelog follows:
0.4.2 (2016-08-09)
- [all] pre-release of "bts deploy_node" command: complete setup of a
fresh VPS node, with bts/muse/steem client, nginx/uwsgi,
supervisor, etc.- [all] added view for seed nodes of BTS, MUSE and STEEM networks
- [all] added world map view of connected peers and seed nodes along with
country detection (requires geoip2 account)- [bts] added ARS (Argentine peso) market pegged asset
- [bts] reactivated GOLD and SILVER (Yahoo issue only temporary)
- [bts] removed Yunbi and CCEDK as feed providers for BTS/BTC
- [all] internal cleanups and refactoring, innumerable minor bug fixes
[1] Currently Ubuntu deploy on Gandi doesn't work due to some issue with the boost package version, probably some issue with the mirrors that I couldn't figure out yet, but as this already delayed the release by more than a few days I decided to fix it in a later release
[2] A full config file with all possible options can be found here: https://github.com/wackou/bts_tools/blob/master/bts_tools/deploy_config.yaml