haveno/pricenode/README-HEROKU.md
2021-05-04 20:20:01 -04:00

1.5 KiB

Deploy on Heroku

Run the following commands:

heroku create
heroku buildpacks:add heroku/gradle
git push heroku master
curl https://your-app-123456.herokuapp.com/getAllMarketPrices

To register the node as a Tor hidden service, first install the Heroku Tor buildpack:

heroku buildpacks:add https://github.com/cbeams/heroku-buildpack-tor.git
git push heroku master

NOTE: this deployment will take a while, because the new buildpack must download and build Tor from source.

Next, generate your Tor hidden service private key and .onion address:

heroku run bash
./tor/bin/tor -f torrc

When the process reports that it is "100% bootstrapped", kill it, then copy the generated private key and .onion hostname values:

cat build/tor-hidden-service/hostname
cat build/tor-hidden-service/private_key
exit

IMPORTANT: Save the private key value in a secure location so that this node can be re-created elsewhere with the same .onion address in the future if necessary.

Now configure the hostname and private key values as environment variables for your Heroku app:

heroku config:set HIDDEN=true HIDDEN_DOT_ONION=[your .onion] HIDDEN_PRIVATE_KEY="[your tor privkey]"
git push heroku master

When the application finishes restarting, you should still be able to access it via the clearnet, e.g. with:

curl https://your-app-123456.herokuapp.com/getAllMarketPrices

And via your Tor Browser at:

http://$YOUR_ONION/getAllMarketPrices