It is better to replace bash shell with potentially long-running
last script command. This way the running command will receive all
potential unix process signals directly.
A concrete example which motivated this change:
Exec of btcd is needed for graceful shutdown of btcd during
`docker-compose down`. Docker Compose properly sends this signal to our
start-btcd.sh bash shell but it is not further signalled to the running
btcd process. Docker Compose then kills whole container forcefully after
some timeout.
An alternative solution would be to trap SIGTERM in our bash script and
forward it to running btcd. Which would be IMO ugly and error prone.
In this commit we restore the prior workflow of the docker-compose set
up with have to allow developers to quickly erect an lnd+btcd instance.
In a recent change, we now prompt the user for a passphrase that will
be used to encrypt the wallet database. This affected the prior
workflow, as it assumed set up was non-interactive.
In this commit we restore the prior behavior as we now start the lnd
nodes with --noencryptwallet.
In this commit, we fix a lingering issue in the execution
of the lnd container, after the new macaroon based
authentication was added. With the new authentication
feature, if the datadir was changed, but `lncli` wasn't
updated to point to the macaroon path, then none of
the commands would work.
To fix this, we simply omit setting the data directory.