Skip to content

Commit ad7d80a

Browse files
authored
Merge pull request #684 from sputn1ck/docker_reg_fix_2
docker-regtest: fix loop-server config (for real now)
2 parents bfba4e5 + 809cc2e commit ad7d80a

File tree

2 files changed

+113
-35
lines changed

2 files changed

+113
-35
lines changed

regtest/docker-compose.yml

Lines changed: 49 additions & 23 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"
@@ -16,87 +19,109 @@ services:
1619
- "-rpcbind=0.0.0.0"
1720
# This is just the hashed string "lightning" with a salt.
1821
- "-rpcauth=lightning:8492220e715bbfdf5f165102bfd7ed4$$88090545821ed5e9db614588c0afbad575ccc14681fb77f3cae6899bc419af67"
19-
- "-rpcallowip=172.0.0.0/8"
20-
- "-rpcallowip=127.0.0.1"
22+
- "-rpcallowip=0.0.0.0/0"
2123
- "-fallbackfee=0.0002"
2224
- "-peerblockfilters=1"
2325
- "-blockfilterindex=1"
2426
- "-wallet=/home/bitcoin/.bitcoin/regtest/wallets/miner"
2527
environment:
2628
- HOME=/home/bitcoin
29+
volumes:
30+
- bitcoind:/home/bitcoin/.bitcoin
2731

2832
lndserver:
2933
image: lightninglabs/lnd:v0.17.0-beta
34+
container_name: lndserver
3035
restart: unless-stopped
3136
networks:
32-
- regtest
37+
regtest:
38+
aliases:
39+
- lndserver
3340
volumes:
3441
- "lndserver:/root/.lnd"
3542
depends_on:
3643
- bitcoind
3744
command:
45+
- "--logdir=/root/.lnd"
3846
- "--alias=lndserver"
3947
- "--rpclisten=0.0.0.0:10009"
4048
- "--noseedbackup"
4149
- "--bitcoin.active"
4250
- "--bitcoin.regtest"
4351
- "--bitcoin.node=bitcoind"
44-
- "--bitcoind.rpchost=regtest_bitcoind_1"
52+
- "--bitcoind.rpchost=bitcoind"
4553
- "--bitcoind.rpcuser=lightning"
4654
- "--bitcoind.rpcpass=lightning"
47-
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332"
48-
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333"
49-
- "--tlsextradomain=regtest_lndserver_1"
55+
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
56+
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
57+
- "--debuglevel=debug"
58+
- "--externalip=lndserver"
59+
- "--tlsextradomain=lndserver"
5060

5161
loopserver:
5262
image: lightninglabs/loopserver
63+
container_name: loopserver
5364
restart: unless-stopped
5465
networks:
55-
- regtest
66+
regtest:
67+
aliases:
68+
- loopserver
5669
volumes:
5770
- "lndserver:/root/.lnd"
5871
depends_on:
5972
- lndserver
6073
command:
6174
- "daemon"
6275
- "--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"
76+
- "--lnd.host=lndserver:10009"
77+
- "--lnd.macaroondir=/home/loopserver/"
78+
- "--lnd.tlspath=/home/loopserver/tls.cert"
79+
- "--bitcoin.host=bitcoind:18443"
80+
- "--bitcoin.user=lightning"
81+
- "--bitcoin.password=lightning"
82+
- "--bitcoin.zmqpubrawblock=tcp://bitcoind:28332"
83+
- "--bitcoin.zmqpubrawtx=tcp://bitcoind:28333"
6884

6985
lndclient:
7086
image: lightninglabs/lnd:v0.17.0-beta
87+
container_name: lndclient
7188
restart: unless-stopped
7289
networks:
73-
- regtest
90+
regtest:
91+
aliases:
92+
- lndclient
7493
volumes:
7594
- "lndclient:/root/.lnd"
7695
depends_on:
7796
- bitcoind
7897
command:
98+
- "--logdir=/root/.lnd"
7999
- "--alias=lndclient"
80100
- "--rpclisten=0.0.0.0:10009"
81101
- "--noseedbackup"
82102
- "--bitcoin.active"
83103
- "--bitcoin.regtest"
84104
- "--bitcoin.node=bitcoind"
85-
- "--bitcoind.rpchost=regtest_bitcoind_1"
105+
- "--bitcoind.rpchost=bitcoind"
86106
- "--bitcoind.rpcuser=lightning"
87107
- "--bitcoind.rpcpass=lightning"
88-
- "--bitcoind.zmqpubrawblock=tcp://regtest_bitcoind_1:28332"
89-
- "--bitcoind.zmqpubrawtx=tcp://regtest_bitcoind_1:28333"
90-
- "--tlsextradomain=regtest_lndclient_1"
108+
- "--bitcoind.zmqpubrawblock=tcp://bitcoind:28332"
109+
- "--bitcoind.zmqpubrawtx=tcp://bitcoind:28333"
110+
- "--debuglevel=debug"
111+
- "--externalip=lndclient"
112+
- "--tlsextradomain=lndclient"
91113

92114
loopclient:
93115
image: loopd
116+
container_name: loopclient
94117
build:
95118
context: ../
96119
dockerfile: Dockerfile
97120
restart: unless-stopped
98121
networks:
99-
- regtest
122+
regtest:
123+
aliases:
124+
- loopclient
100125
volumes:
101126
- "lndclient:/root/.lnd"
102127
depends_on:
@@ -105,15 +130,16 @@ services:
105130
- "loopd"
106131
- "--network=regtest"
107132
- "--debuglevel=debug"
108-
- "--server.host=regtest_loopserver_1:11009"
133+
- "--server.host=loopclient:11009"
109134
- "--server.notls"
110-
- "--lnd.host=regtest_lndclient_1:10009"
135+
- "--lnd.host=lndclient:10009"
111136
- "--lnd.macaroonpath=/root/.lnd/data/chain/bitcoin/regtest/admin.macaroon"
112137
- "--lnd.tlspath=/root/.lnd/tls.cert"
113138

114139
networks:
115140
regtest:
116141

117142
volumes:
143+
bitcoind:
118144
lndserver:
119145
lndclient:

regtest/regtest.sh

Lines changed: 64 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,50 @@ function info() {
8795
echo "lnd client: $LNDCLIENT"
8896
}
8997

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

0 commit comments

Comments
 (0)