-
Notifications
You must be signed in to change notification settings - Fork 8
/
manifest.yaml
323 lines (323 loc) · 12.2 KB
/
manifest.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
id: lnd
title: LND
version: 0.18.3
release-notes: |-
* Update to 0.18.3 [Release Notes](https://github.com/lightningnetwork/lnd/releases/tag/v0.18.3-beta)
* Update README
license: MIT
wrapper-repo: "https://github.com/Start9Labs/lnd-startos"
upstream-repo: "https://github.com/lightningnetwork/lnd"
support-site: "https://lightning.engineering/slack.html"
marketing-site: "https://lightning.engineering/"
build: ["make"]
description:
short: A complete implementation of a Lightning Network node by Lightning Labs
long: |
Lightning Network Daemon (LND) fully conforms to the Lightning Network specification (BOLTs). BOLT stands for: Basis of Lightning Technology. In the current state lnd is capable of: creating channels, closing channels, managing all channel states (including the exceptional ones!), maintaining a fully authenticated+validated channel graph, performing path finding within the network, passively forwarding incoming payments, sending outgoing onion-encrypted payments through the network, updating advertised fee schedules, and automatic channel management (autopilot).
assets:
license: LICENSE # default = LICENSE.md
icon: icon.png # default = icon.png - assumes icon.png if this field does not exist
instructions: instructions.md # default = INSTRUCTIONS.md
main:
type: docker
image: main
entrypoint: "docker_entrypoint.sh"
args: []
# specifices where to put the volumes in the main image
mounts:
# main data directory - also needed to preserve data in 0.2.x migration
main: /root/.lnd
certificates: /mnt/cert
health-checks:
synced:
name: Synced
success-message: Synced to chain and graph
type: docker
image: main
entrypoint: "health-check"
args: []
inject: true
io-format: yaml
config: # if you dont provide an io format in cases like config where its necessarily developer defined, functionality will not work
get:
type: script
set:
type: script
properties:
type: script
volumes:
# this is the image where data will go from 0.2.x
main:
type: data
# this is the image where files from the project asset directory will go
compat:
type: assets
# TODO - update configurator to not gen cert
certificates:
type: certificate
# id of the interface you want the cert for
interface-id: control
alerts:
install: |
READ CAREFULLY! LND and the Lightning Network are considered beta software. Please use with caution and do not risk more money than you are willing to lose. We encourage frequent backups, particularly after opening or closing channels. If for any reason, you need to restore LND from a backup, your on-chain wallet will be restored. Any channels in the backup will be closed and their funds returned to your on-chain wallet, minus fees. It may also take some time for this process to occur. Any channels opened after the last backup CANNOT be recovered by backup restore.
uninstall: |
"READ CAREFULLY! Uninstalling LND will result in permanent loss of data, including its private keys for its on-chain wallet and all channel states. Please make a backup if you have any funds in your on-chain wallet or in any channels. Recovering from backup will restore your on-chain wallet, but due to the architecture of the Lightning Network, your channels cannot be recovered. All channels included in the backup will be closed and their funds returned to your on-chain wallet, minus fees". Any channels opened after the last backup CANNOT be recovered by backup restore
restore: |
READ CAREFULLY! Any channels opened since the last backup will be forgotten and may linger indefinitely, and channels contained in the backup will be closed and their funds returned to your on-chain wallet, minus fees. After all recoverable funds are available in your on-chain wallet, all funds should be swept to a different wallet. NEVER use a restored LND wallet to open new channels. If you would like to use LND after a backup restore you will first need to sweep all on-chain funds to a different wallet, next LND can be safely uninstalled, and finally LND can be installed fresh from the marketplace.
interfaces:
control:
name: Control Interface
description: Specifies the interfaces to listen on for gRPC and REST connections.
tor-config:
port-mapping:
8080: "8080"
10009: "10009"
ui: false
protocols:
- tcp
- http
- https
- grpc
watchtower:
name: Watchtower Interface
description: Specifies the interfaces to listen on for watchtower client connections.
tor-config:
port-mapping:
9911: "9911"
ui: false
protocols:
- tcp
- grpc
peer:
name: Peer Interface
description: Specifies the interfaces to listen on for p2p connections.
tor-config:
port-mapping:
9735: "9735"
ui: false
protocols:
- tcp
- http
dependencies:
bitcoind:
version: ">=0.21.1.2 <29.0.0"
requirement:
type: "opt-out"
how: "Can alternatively use Neutrino"
description: Used to subscribe to new block events.
config:
check:
type: script
auto-configure:
type: script
backup:
create:
type: docker
# default backup process is duplicity - EOS will have access to this image
image: compat
system: true
# command to run the backup executable, in this case, duplicity
entrypoint: compat
# arguments to pass into the entrypoint ie. duplicity in this case
# thus, the full commamnd run will be: `duplicity lnd file:///mnt/backup /root/.lnd`
args:
- duplicity
- create
- /mnt/backup
- /root/.lnd
mounts:
# BACKUP is the default volume that is used for backups - this is whatever backup drive is mounted to the device, or a network filesystem
# the value here denotes where the data mount point will be
# mounts backup drive to this location, which contains previous backups
BACKUP: /mnt/backup
main: /root/.lnd
io-format: yaml
restore:
type: docker
image: compat
system: true
entrypoint: /mnt/assets/backup-restore.sh
args:
- duplicity
- restore
- /mnt/backup
- /root/.lnd
mounts:
BACKUP: /mnt/backup
main: /root/.lnd
compat: /mnt/assets
io-format: yaml
migrations:
from:
"*":
type: script
args: ["from"]
to:
"*":
type: script
args: ["to"]
actions:
import-umbrel-five:
name: "Import from Umbrel (0.5)"
description: "Imports wallet and channel data from Umbrel 0.5"
warning: "Warning!!! After running this action, be sure to NEVER re-start your Umbrel with the same LND seed! You should never run two different lnd nodes with the same seed! This will lead to strange/unpredictable behavior or even loss of funds."
allowed-statuses:
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: import-umbrel-5.sh
args: []
io-format: json
mounts:
main: /root/.lnd
input-spec:
umbrel-host:
type: string
name: Umbrel IP Address
description: "The IP Address for your Umbrel. You can find this by running the command `ping umbrel.local` while connected to your LAN."
masked: false
placeholder: "192.168.1.9"
nullable: false
umbrel-password:
type: string
name: Umbrel Password
description: "The password you use to log into your Umbrel dashboard or SSH"
masked: true
placeholder: password
nullable: false
default: ""
import-mynode:
name: "Import from MyNode"
description: "Imports wallet and channel data from MyNode"
warning: "Warning!!! After running this action, be sure to NEVER re-start your MyNode with the same LND seed! You should never run two different lnd nodes with the same seed! This will lead to strange/unpredictable behavior or even loss of funds."
allowed-statuses:
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: import-mynode.sh
args: []
io-format: json
mounts:
main: /root/.lnd
input-spec:
mynode-host:
type: string
name: MyNode IP Address
description: "The IP Address for your MyNode. You can find this by running the command `ping mynode.local` while connected to your LAN."
masked: false
placeholder: "192.168.1.7"
nullable: false
mynode-password:
type: string
name: MyNode Password
description: "The password you use to log into your MyNode dashboard or SSH"
masked: true
placeholder: bolt
nullable: false
default: ""
import-raspiblitz:
name: "Import from RaspiBlitz"
description: "Imports wallet and channel data from RaspiBlitz"
warning: "Warning!!! After running this action, be sure to NEVER re-start your Raspiblitz with the same LND seed! You should never run two different lnd nodes with the same seed! This will lead to strange/unpredictable behavior or even loss of funds."
allowed-statuses:
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: import-raspiblitz.sh
args: []
io-format: json
mounts:
main: /root/.lnd
input-spec:
raspiblitz-host:
type: string
name: RaspiBlitz IP Address
description: "The IP Address for your RaspiBlitz. To find this IP address, you may need to check the DHCP Leases in your router."
masked: false
placeholder: "192.168.1.7"
nullable: false
raspiblitz-password:
type: string
name: RaspiBlitz SSH Password
description: "The password you use to log into your RaspiBlitz via SSH (Password A)"
masked: true
placeholder: raspiblitz
nullable: false
default: ""
raspiblitz-lncli-password:
type: string
name: RaspiBlitz lncli Password
description: "The password used to unlock LND on RaspiBlitz (Password C)"
masked: true
placeholder: raspiblitz_lncli
nullable: false
default: ""
import-umbrel:
name: "Import from Umbrel (1.0)"
description: "Imports wallet and channel data from Umbrel 1.0"
warning: "Warning!!! After running this action, be sure to NEVER re-start your Umbrel with the same LND seed! You should never run two different lnd nodes with the same seed! This will lead to strange/unpredictable behavior or even loss of funds."
allowed-statuses:
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: import-umbrel.sh
args: []
io-format: json
mounts:
main: /root/.lnd
input-spec:
umbrel-host:
type: string
name: Umbrel IP Address
description: "The IP Address for your Umbrel. You can find this by running the command `ping umbrel.local` while connected to your LAN."
masked: false
placeholder: "192.168.1.9"
nullable: false
umbrel-password:
type: string
name: Umbrel Password
description: "The password you use to log into your Umbrel dashboard or SSH"
masked: true
placeholder: password
nullable: false
default: ""
reset-txs:
name: "Reset Wallet Transactions"
description: "Resets the best synced height of the wallet back to its birthday, or genesis if the birthday isn't known. This is useful for picking up on-chain transactions that may have been missed by LND."
warning: ~
allowed-statuses:
- running
- stopped
implementation:
type: docker
image: main
system: false
entrypoint: reset-txs.sh
args: []
mounts:
main: /root/.lnd
io-format: json
recreate-macaroons:
name: "Recreate Macaroons"
description: "Deletes current macaroons, and restarts LND to recreate all macaroons."
warning: "This will delete and recreate all existing macaroon files, so you may need to restart other services using LND."
allowed-statuses:
- running
implementation:
type: docker
inject: true
image: main
system: false
entrypoint: recreate-macaroons.sh
args: []
mounts:
main: /root/.lnd
io-format: json