-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
92 lines (83 loc) · 2.49 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
version: '3.7'
services:
btcd:
image: btcd
container_name: btcd
build: ./services/btcd/
env_file: ./services/btcd/.env.docker
volumes:
- btcd_data:/data
- shared_rpc_data:/rpc
command: ["./start-btcd.dev.sh"]
lnd:
image: lnd
container_name: lnd
build: ./services/lnd/
env_file: ./services/lnd/.env.docker
volumes:
# Notes on what each of these are for are in the `volumes` section below
- shared_rpc_data:/rpc
- lightning_dir:/lnd
- shared_lightning_creds:/shared
depends_on:
- btcd
ports:
# host:container
- "8080:8080" # rest
- "9735:9735" # p2p
- "10009:10009" # rpc
command: ["./start-lnd.dev.sh"]
lnd-gateway:
image: lnd-gateway
container_name: lnd-gateway
build: ./services/lnd-gateway/
env_file: ./services/lnd-gateway/.env.docker
volumes:
- shared_lightning_creds:/shared:ro
depends_on:
- lnd
ports:
# host:container
- "4040:80"
command: ["yarn", "start:prod"]
web:
image: web
container_name: web
build: ./services/web/
env_file: ./services/web/.env.docker
ports:
# host:container
- "4000:80"
command: ["yarn", "start:prod"]
rtl:
image: rtl
container_name: rtl
build: ./services/rtl/
env_file: ./services/rtl/.env.docker
volumes:
- shared_lightning_creds:/shared:ro
depends_on:
- lnd
ports:
- "5000:80"
command: ["./startup-scripts/start-rtl.sh"]
# Other services that could be added here:
# - A watchower service
# - An lndmon service (https://github.com/lightninglabs/lndmon)
# - A lightning loop service (loopd) (https://github.com/lightninglabs/loop)
# - Lightning terminal (https://lightning.engineering/posts/2020-08-04-lightning-terminal/)
volumes:
# This volume allows bitcoin blockchain data to persist through container
# restarts
btcd_data:
# This volume allows the bitcoin backend and lnd to share rpc creds. These
# creds are generated by the bitcoin backend and used by lnd
shared_rpc_data:
# This volume is used to persist the data/, logs/, and tls.key from ~/lnd
# through container restarts. Note that this does not persist ~/.lnd itself,
# from the container. data, logs, and tls.key are specified to go to the
# ~/lnd directory, which is mapped to this volume, via command line options
# in start-lnd.sh
lightning_dir:
# Volume for lightning admin macaroon and tls stuff
shared_lightning_creds: