Skip to content

Commit 234fe3e

Browse files
committed
docker-regtest: fix loop-server config
1 parent bfba4e5 commit 234fe3e

File tree

2 files changed

+115
-36
lines changed

2 files changed

+115
-36
lines changed

regtest/docker-compose.yml

Lines changed: 49 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
version: '3'
22
services:
33
bitcoind:
4-
image: lightninglabs/bitcoin-core
4+
image: ruimarinho/bitcoin-core:23
5+
container_name: bitcoind
56
restart: unless-stopped
67
networks:
7-
- regtest
8+
regtest:
9+
aliases:
10+
- bitcoind
811
command:
912
- "-txindex"
1013
- "-regtest"
@@ -14,89 +17,110 @@ services:
1417
- "-zmqpubrawtx=tcp://0.0.0.0:28333"
1518
- "-rpcport=18443"
1619
- "-rpcbind=0.0.0.0"
17-
# This is just the hashed string "lightning" with a salt.
1820
- "-rpcauth=lightning:8492220e715bbfdf5f165102bfd7ed4$$88090545821ed5e9db614588c0afbad575ccc14681fb77f3cae6899bc419af67"
19-
- "-rpcallowip=172.0.0.0/8"
20-
- "-rpcallowip=127.0.0.1"
21+
- "-rpcallowip=0.0.0.0/0"
2122
- "-fallbackfee=0.0002"
2223
- "-peerblockfilters=1"
2324
- "-blockfilterindex=1"
2425
- "-wallet=/home/bitcoin/.bitcoin/regtest/wallets/miner"
2526
environment:
2627
- HOME=/home/bitcoin
28+
volumes:
29+
- bitcoind:/home/bitcoin/.bitcoin
2730

2831
lndserver:
2932
image: lightninglabs/lnd:v0.17.0-beta
33+
container_name: lndserver
3034
restart: unless-stopped
3135
networks:
32-
- regtest
36+
regtest:
37+
aliases:
38+
- lndserver
3339
volumes:
3440
- "lndserver:/root/.lnd"
3541
depends_on:
3642
- bitcoind
3743
command:
44+
- "--logdir=/root/.lnd"
3845
- "--alias=lndserver"
3946
- "--rpclisten=0.0.0.0:10009"
4047
- "--noseedbackup"
4148
- "--bitcoin.active"
4249
- "--bitcoin.regtest"
4350
- "--bitcoin.node=bitcoind"
44-
- "--bitcoind.rpchost=regtest_bitcoind_1"
51+
- "--bitcoind.rpchost=bitcoind"
4552
- "--bitcoind.rpcuser=lightning"
4653
- "--bitcoind.rpcpass=lightning"
47-
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332"
48-
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333"
49-
- "--tlsextradomain=regtest_lndserver_1"
54+
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
55+
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
56+
- "--debuglevel=debug"
57+
- "--externalip=lndserver"
58+
- "--tlsextradomain=lndserver"
5059

5160
loopserver:
5261
image: lightninglabs/loopserver
62+
container_name: loopserver
5363
restart: unless-stopped
5464
networks:
55-
- regtest
65+
regtest:
66+
aliases:
67+
- loopserver
5668
volumes:
5769
- "lndserver:/root/.lnd"
5870
depends_on:
5971
- lndserver
6072
command:
6173
- "daemon"
6274
- "--maxamt=5000000"
63-
- "--lnd.host=regtest_lndserver_1:10009"
64-
- "--lnd.macaroondir=/root/.lnd/data/chain/bitcoin/regtest"
65-
- "--lnd.tlspath=/root/.lnd/tls.cert"
66-
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332"
67-
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333"
75+
- "--lnd.host=lndserver:10009"
76+
- "--lnd.macaroondir=/home/loopserver/"
77+
- "--lnd.tlspath=/home/loopserver/tls.cert"
78+
- "--bitcoin.host=bitcoind:18443"
79+
- "--bitcoin.user=lightning"
80+
- "--bitcoin.password=lightning"
81+
- "--bitcoin.zmqpubrawblock=tcp://bitcoind:28332"
82+
- "--bitcoin.zmqpubrawtx=tcp://bitcoind:28333"
6883

6984
lndclient:
7085
image: lightninglabs/lnd:v0.17.0-beta
86+
container_name: lndclient
7187
restart: unless-stopped
7288
networks:
73-
- regtest
89+
regtest:
90+
aliases:
91+
- lndclient
7492
volumes:
7593
- "lndclient:/root/.lnd"
7694
depends_on:
7795
- bitcoind
7896
command:
97+
- "--logdir=/root/.lnd"
7998
- "--alias=lndclient"
8099
- "--rpclisten=0.0.0.0:10009"
81100
- "--noseedbackup"
82101
- "--bitcoin.active"
83102
- "--bitcoin.regtest"
84103
- "--bitcoin.node=bitcoind"
85-
- "--bitcoind.rpchost=regtest_bitcoind_1"
104+
- "--bitcoind.rpchost=bitcoind"
86105
- "--bitcoind.rpcuser=lightning"
87106
- "--bitcoind.rpcpass=lightning"
88-
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332"
89-
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333"
90-
- "--tlsextradomain=regtest_lndclient_1"
107+
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
108+
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
109+
- "--debuglevel=debug"
110+
- "--externalip=lndclient"
111+
- "--tlsextradomain=lndclient"
91112

92113
loopclient:
93114
image: loopd
115+
container_name: loopclient
94116
build:
95117
context: ../
96118
dockerfile: Dockerfile
97119
restart: unless-stopped
98120
networks:
99-
- regtest
121+
regtest:
122+
aliases:
123+
- loopclient
100124
volumes:
101125
- "lndclient:/root/.lnd"
102126
depends_on:
@@ -105,15 +129,16 @@ services:
105129
- "loopd"
106130
- "--network=regtest"
107131
- "--debuglevel=debug"
108-
- "--server.host=regtest_loopserver_1:11009"
132+
- "--server.host=loopclient:11009"
109133
- "--server.notls"
110-
- "--lnd.host=regtest_lndclient_1:10009"
134+
- "--lnd.host=lndclient:10009"
111135
- "--lnd.macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
112136
- "--lnd.tlspath=/root/.lnd/tls.cert"
113137

114138
networks:
115139
regtest:
116140

117141
volumes:
142+
bitcoind:
118143
lndserver:
119144
lndclient:

regtest/regtest.sh

Lines changed: 66 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
COMPOSE="docker-compose -p regtest"
55

66
function bitcoin() {
7-
docker exec -ti regtest_bitcoind_1 bitcoin-cli -regtest "$@"
7+
docker exec -ti bitcoind bitcoin-cli -regtest "$@"
88
}
99

1010
function lndserver() {
11-
docker exec -ti regtest_lndserver_1 lncli --network regtest "$@"
11+
docker exec -ti lndserver lncli --network regtest "$@"
1212
}
1313

1414
function lndclient() {
15-
docker exec -ti regtest_lndclient_1 lncli --network regtest "$@"
15+
docker exec -ti lndclient lncli --network regtest "$@"
1616
}
1717

1818
function loop() {
19-
docker exec -ti regtest_loopclient_1 loop --network regtest "$@"
19+
docker exec -ti loopclient loop --network regtest "$@"
2020
}
2121

2222
function start() {
@@ -44,29 +44,37 @@ function mine() {
4444
bitcoin generatetoaddress $NUMBLOCKS $(bitcoin getnewaddress "" legacy) > /dev/null
4545
}
4646

47-
function setup() {
48-
echo "Getting pubkeys"
49-
LNDSERVER=$(lndserver getinfo | jq .identity_pubkey -r)
50-
LNDCLIENT=$(lndclient getinfo | jq .identity_pubkey -r)
51-
echo "Getting addresses"
52-
47+
function setup() {
48+
echo "Copying loopserver files"
49+
copy_loopserver_files
50+
5351
echo "Creating wallet"
5452
bitcoin createwallet miner
55-
53+
5654
ADDR_BTC=$(bitcoin getnewaddress "" legacy)
5755
echo "Generating blocks to $ADDR_BTC"
5856
bitcoin generatetoaddress 106 "$ADDR_BTC" > /dev/null
57+
58+
echo "Getting pubkeys"
59+
LNDSERVER=$(lndserver getinfo | jq .identity_pubkey -r)
60+
LNDCLIENT=$(lndclient getinfo | jq .identity_pubkey -r)
61+
echo "Getting addresses"
62+
5963

6064
echo "Sending funds"
6165
ADDR_SERVER=$(lndserver newaddress p2wkh | jq .address -r)
6266
ADDR_CLIENT=$(lndclient newaddress p2wkh | jq .address -r)
6367
bitcoin sendtoaddress "$ADDR_SERVER" 5
6468
bitcoin sendtoaddress "$ADDR_CLIENT" 5
6569
mine 6
70+
71+
sleep 30
6672

67-
lndserver openchannel --node_key $LNDCLIENT --connect regtest_lndclient_1:9735 --local_amt 16000000
73+
lndserver openchannel --node_key $LNDCLIENT --connect lndclient:9735 --local_amt 16000000
6874
mine 6
6975

76+
sleep 10
77+
7078
lndclient openchannel --node_key $LNDSERVER --local_amt 16000000
7179
mine 6
7280
}
@@ -87,6 +95,52 @@ function info() {
8795
echo "lnd client: $LNDCLIENT"
8896
}
8997

98+
function copy_loopserver_files() {
99+
echo "copying certs"
100+
101+
# copy cert to loopserver
102+
docker cp lndserver:/root/.lnd/tls.cert /tmp/loopserver-tls.cert
103+
chmod 644 /tmp/loopserver-tls.cert
104+
docker cp -a /tmp/loopserver-tls.cert loopserver:/home/loopserver/tls.cert
105+
106+
#copy readonly macaroon to loopserver
107+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/readonly.macaroon /tmp/loopserver-read.macaroon
108+
chmod 644 /tmp/loopserver-read.macaroon
109+
docker cp -a /tmp/loopserver-read.macaroon loopserver:/home/loopserver/readonly.macaroon
110+
111+
# copy admin macaroon to loopserver
112+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon /tmp/loopserver-admin.macaroon
113+
chmod 644 /tmp/loopserver-admin.macaroon
114+
docker cp -a /tmp/loopserver-admin.macaroon loopserver:/home/loopserver/admin.macaroon
115+
116+
117+
# copy invoices macaroon to loopserver
118+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/invoices.macaroon /tmp/loopserver-invoices.macaroon
119+
chmod 644 /tmp/loopserver-invoices.macaroon
120+
docker cp -a /tmp/loopserver-invoices.macaroon loopserver:/home/loopserver/invoices.macaroon
121+
122+
# copy chainnotifier macaroon to loopserver
123+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/chainnotifier.macaroon /tmp/loopserver-chainnotifier.macaroon
124+
chmod 644 /tmp/loopserver-chainnotifier.macaroon
125+
docker cp -a /tmp/loopserver-chainnotifier.macaroon loopserver:/home/loopserver/chainnotifier.macaroon
126+
127+
# copy router macaroon to loopserver
128+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/router.macaroon /tmp/loopserver-router.macaroon
129+
chmod 644 /tmp/loopserver-router.macaroon
130+
docker cp -a /tmp/loopserver-router.macaroon loopserver:/home/loopserver/router.macaroon
131+
132+
# copy signer macaroon to loopserver
133+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/signer.macaroon /tmp/loopserver-signer.macaroon
134+
chmod 644 /tmp/loopserver-signer.macaroon
135+
docker cp -a /tmp/loopserver-signer.macaroon loopserver:/home/loopserver/signer.macaroon
136+
137+
# copy walletkit macaroon to loopserver
138+
docker cp lndserver:/root/.lnd/data/chain/bitcoin/regtest/walletkit.macaroon /tmp/loopserver-walletkit.macaroon
139+
chmod 644 /tmp/loopserver-walletkit.macaroon
140+
docker cp -a /tmp/loopserver-walletkit.macaroon loopserver:/home/loopserver/walletkit.macaroon
141+
142+
}
143+
90144
if [[ $# -lt 1 ]]; then
91145
echo "Usage: $0 start|stop|restart|info|loop"
92146
fi

0 commit comments

Comments
 (0)