d0685730bd
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.
58 lines
1.4 KiB
Bash
Executable File
58 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# exit from script if error was raised.
|
|
set -e
|
|
|
|
# error function is used within a bash function in order to send the error
|
|
# mesage directly to the stderr output and exit.
|
|
error() {
|
|
echo "$1" > /dev/stderr
|
|
exit 0
|
|
}
|
|
|
|
# return is used within bash function in order to return the value.
|
|
return() {
|
|
echo "$1"
|
|
}
|
|
|
|
# set_default function gives the ability to move the setting of default
|
|
# env variable from docker file to the script thereby giving the ability to the
|
|
# user override it durin container start.
|
|
set_default() {
|
|
# docker initialized env variables with blank string and we can't just
|
|
# use -z flag as usually.
|
|
BLANK_STRING='""'
|
|
|
|
VARIABLE="$1"
|
|
DEFAULT="$2"
|
|
|
|
if [[ -z "$VARIABLE" || "$VARIABLE" == "$BLANK_STRING" ]]; then
|
|
|
|
if [ -z "$DEFAULT" ]; then
|
|
error "You should specify default variable"
|
|
else
|
|
VARIABLE="$DEFAULT"
|
|
fi
|
|
fi
|
|
|
|
return "$VARIABLE"
|
|
}
|
|
|
|
# Set default variables if needed.
|
|
RPCUSER=$(set_default "$RPCUSER" "devuser")
|
|
RPCPASS=$(set_default "$RPCPASS" "devpass")
|
|
DEBUG=$(set_default "$DEBUG" "debug")
|
|
NETWORK=$(set_default "$NETWORK" "simnet")
|
|
CHAIN=$(set_default "$CHAIN" "bitcoin")
|
|
|
|
lnd \
|
|
--logdir="/data" \
|
|
"--$CHAIN.rpccert"="/rpc/rpc.cert" \
|
|
"--$CHAIN.active" \
|
|
"--$CHAIN.$NETWORK" \
|
|
"--$CHAIN.rpchost"="blockchain" \
|
|
"--$CHAIN.rpcuser"="$RPCUSER" \
|
|
"--$CHAIN.rpcpass"="$RPCPASS" \
|
|
--debuglevel="$DEBUG" \
|
|
"$@"
|