LND conf customization
DarthCoin ₿⚡️I will keep here updated my LND conf file customization.
Keep in mind to use nano editor or an editor that keep track of the lines and do not add extra lines or spaces. Comment with # each line you do not want to be taken in consideration or add explanations.
Each docker component/app have it's own IP like 10.x.x.x
All Umbrel apps IPs and ports are listed here:
https://github.com/getumbrel/umbrel/blob/master/scripts/configure#L107
All customization I did was based on LND documentation and lnd.conf example file:
https://github.com/lightningnetwork/lnd/blob/master/sample-lnd.conf
# Warning: it's not recommended to modify these files directly. Any
# modifications you make can break the functionality of your umbrel.
[Application Options]
listen=0.0.0.0:9735
rpclisten=0.0.0.0:10009
restlisten=0.0.0.0:8080
maxpendingchannels=3
minchansize=2000000
accept-keysend=true
tlsextraip=10.x.x.x (internal docker IP)
tlsextradomain=umbrel.local
tlsautorefresh=1
tlsdisableautofill=1
feeurl=
# Personalization
alias=FuckTheMaskOrder
color=#5f1be8
# Run node in hybrid mode (tor - clearnet)
externalip=x.x.x.x:9735 (external public VPN IP)
# Mark unpayable, unpaid invoices as deleted, delete garbage
gc-canceled-invoices-on-startup=1
gc-canceled-invoices-on-the-fly=1
# Avoid historical graph data sync, improve node responsiveness
ignore-historical-gossip-filters=1
# Enable free list syncing for the default bbolt database. This will decrease start up time, but can result in performance degradation for very large databases, and also result in higher memory usage. If "free list corruption" is detected, then this flag may resolve things.
sync-freelist=1
# Avoid high startup overhead
stagger-initial-reconnect=1
# Avoid auto force close channels
payments-expiration-grace-period=300m
# Make use of lndhub internal wallets to pay each others
allow-circular-route=1
# Max HTLCs pending in flight default 483
default-remote-max-htlcs=30
# Accept AMP spontaneous invoices
accept-amp=true
# If true, will not reply with historical data that matches the range specified by a remote peer's gossip_timestamp_filter. Doing so will result in lower memory and bandwidth requirements.
ignore-historical-gossip-filters=true
# The maximum percentage of total funds that can be allocated to a channel's commitment fee. This only applies for the initiator of the channel. Valid values are within [0.1, 1]. (default: 0.5)
max-channel-fee-allocation=0.1
# A threshold defining the maximum amount of dust a given channel can have after which forwarding and sending dust HTLC's to and from the channel will fail. This amount is expressed in satoshis. (default: 500000)
dust-threshold=1000
# The number of peers that we should receive new graph updates from. This option can be tuned to save bandwidth for light clients or routing nodes. (default: 3)
numgraphsyncpeers=10
[Bitcoind]
bitcoind.rpchost=10.x.x.x
bitcoind.rpcuser=umbrel
bitcoind.rpcpass=random numbers
bitcoind.zmqpubrawblock=tcp://10.x.x.x:28332
bitcoind.zmqpubrawtx=tcp://10.x.x.x:28333
[Bitcoin]
bitcoin.active=1
bitcoin.mainnet=1
# Default to neutrino as the node is
# automatically switched to bitcoind once
# IBD is complete
bitcoin.node=bitcoind
bitcoin.defaultchanconfs=2
# [neutrino]
# Testnet neutrino peers that are automatically
# uncommented if Umbrel is configured for testnet
# neutrino.addpeer=testnet1-btcd.zaphq.io
# neutrino.addpeer=testnet2-btcd.zaphq.io
[tor]
tor.active=1
tor.control=10.x.x.x:29051
tor.socks=10.x.x.x:9050
tor.targetipaddress=10.x.x.x
tor.password=random numbers
tor.v3=1
# deactivate streamisolation for hybrid-mode
tor.streamisolation=false
# activate split connectivity
tor.skip-proxy-for-clearnet-targets=true
[protocol]
# Activate or deactivate anchor-outputs. There's a lot of controversy with this option. For the moment I keep it deactivate. Also is not clear if is really triggered if you use lnd 0.14.1 or more.
# protocol.no-anchors=true
[wtclient]
wtclient.active=true
wtclient.sweep-fee-rate=10
[bolt]
# Whether the databases used within lnd should automatically be compacted on every startup (and if the database has the configured minimum age).
# This is disabled by default because it requires additional disk space to be available during the compaction that is freed afterwards. In general compaction leads to smaller database files.
db.bolt.auto-compact=true
# How long ago the last compaction of a database file must be for it to be considered for auto compaction again. Can be set to 0 to compact on every startup. (default: 168h)
db.bolt.auto-compact-min-age=0