@@ -8,49 +8,51 @@ trap 'kill `jobs -p`' SIGTERM
88
99[[ " $NETWORK " == " mainnet" ]] && NETWORK=bitcoin
1010
11- if [ -d /etc/bitcoin ]; then
12- echo -n " Connecting to bitcoind configured in /etc/bitcoin... "
11+ if [ -d /etc/lightning ]; then
12+ echo -n " Using lightningd directory mounted in /etc/lightning... "
13+ LN_PATH=/etc/lightning
1314
14- RPC_OPT= " -datadir=/etc/bitcoin $( [[ -z " $BITCOIND_RPCCONNECT " ]] || echo " -rpcconnect= $BITCOIND_RPCCONNECT " ) "
15+ else
1516
16- elif [ -n " $BITCOIND_URI " ] ; then
17- [[ " $BITCOIND_URI " =~ ^[a-z]+: \/ + (([^:/]+):([^@/]+)) @ ([^:/]+:[0-9]+)/ ? $ ]] || \
18- { echo >&2 " ERROR: invalid bitcoind URI: $BITCOIND_URI " ; exit 1 ; }
17+ # Setup bitcoind (only needed when we're starting our own lightningd instance)
18+ if [ -d /etc/bitcoin ] ; then
19+ echo -n " Connecting to bitcoind configured in /etc/bitcoin... "
1920
20- echo -n " Connecting to bitcoind at ${BASH_REMATCH[4]} ... "
21+ RPC_OPT= " -datadir=/etc/bitcoin $( [[ -z " $BITCOIND_RPCCONNECT " ]] || echo " -rpcconnect= $BITCOIND_RPCCONNECT " ) "
2122
22- RPC_OPT=" -rpcconnect=${BASH_REMATCH[4]} "
23+ elif [ -n " $BITCOIND_URI " ]; then
24+ [[ " $BITCOIND_URI " =~ ^[a-z]+:\/ + (([^:/]+):([^@/]+))@ ([^:/]+:[0-9]+)/? $ ]] || \
25+ { echo >&2 " ERROR: invalid bitcoind URI: $BITCOIND_URI " ; exit 1; }
2326
24- if [ " ${BASH_REMATCH[2]} " != " __cookie__" ]; then
25- RPC_OPT=" $RPC_OPT -rpcuser=${BASH_REMATCH[2]} -rpcpassword=${BASH_REMATCH[3]} "
26- else
27- RPC_OPT=" $RPC_OPT -datadir=/tmp/bitcoin"
28- [[ " $NETWORK " == " bitcoin" ]] && NET_PATH=/tmp/bitcoin || NET_PATH=/tmp/bitcoin/$NETWORK
29- mkdir -p $NET_PATH
30- echo " ${BASH_REMATCH[1]} " > $NET_PATH /.cookie
31- fi
27+ echo -n " Connecting to bitcoind at ${BASH_REMATCH[4]} ... "
3228
33- else
34- echo -n " Starting bitcoind... "
29+ RPC_OPT=" -rpcconnect=${BASH_REMATCH[4]} "
3530
36- mkdir -p /data/bitcoin
37- RPC_OPT=" -datadir=/data/bitcoin"
31+ if [ " ${BASH_REMATCH[2]} " != " __cookie__" ]; then
32+ RPC_OPT=" $RPC_OPT -rpcuser=${BASH_REMATCH[2]} -rpcpassword=${BASH_REMATCH[3]} "
33+ else
34+ RPC_OPT=" $RPC_OPT -datadir=/tmp/bitcoin"
35+ [[ " $NETWORK " == " bitcoin" ]] && NET_PATH=/tmp/bitcoin || NET_PATH=/tmp/bitcoin/$NETWORK
36+ mkdir -p $NET_PATH
37+ echo " ${BASH_REMATCH[1]} " > $NET_PATH /.cookie
38+ fi
3839
39- bitcoind -$NETWORK $RPC_OPT $BITCOIND_OPTS &
40- echo -n " waiting for cookie... "
41- sed --quiet ' /^\.cookie$/ q' <( inotifywait -e create,moved_to --format ' %f' -qmr /data/bitcoin)
42- fi
40+ else
41+ echo -n " Starting bitcoind... "
4342
44- echo -n " waiting for RPC... "
45- bitcoin-cli -$NETWORK $RPC_OPT -rpcwait getblockchaininfo > /dev/null
46- echo " ready."
43+ mkdir -p /data/bitcoin
44+ RPC_OPT=" -datadir=/data/bitcoin"
4745
46+ bitcoind -$NETWORK $RPC_OPT $BITCOIND_OPTS &
47+ echo -n " waiting for cookie... "
48+ sed --quiet ' /^\.cookie$/ q' <( inotifywait -e create,moved_to --format ' %f' -qmr /data/bitcoin)
49+ fi
4850
49- if [ -d /etc/lightning ] ; then
50- echo -n " Using lightningd directory mounted in /etc/lightning... "
51- LN_PATH=/etc/lightning
51+ echo -n " waiting for RPC... "
52+ bitcoin-cli - $NETWORK $RPC_OPT -rpcwait getblockchaininfo > /dev/null
53+ echo " ready. "
5254
53- else
55+ # Setup lightning
5456 echo -n " Starting lightningd... "
5557
5658 LN_PATH=/data/lightning
0 commit comments