__ __ _ _ _ _
| \/ | ___ __ _ __ _| (_) |_| |__
| |\/| |/ _ \/ _` |/ _` | | | __| '_ \
| | | | __/ (_| | (_| | | | |_| | | |
|_| |_|\___|\__, |\__,_|_|_|\__|_| |_|
_ _ |___/ _ _
| | (_) __ _| |__ | |_ _ __ (_)_ __ __ _
| | | |/ _` | '_ \| __| '_ \| | '_ \ / _` |
| |___| | (_| | | | | |_| | | | | | | | (_| |
|_____|_|\__, |_| |_|\__|_| |_|_|_| |_|\__, |
| _ \ _|___/___ ___ |___/
| | | |/ _ \ / __/ __|
| |_| | (_) | (__\__ \
|____/ \___/ \___|___/
This repository accompanies the tutorial at the Megalith Lightning Docs.
Following this tutorial will help you run LND, Tor, Bitcoin Core, and LNDG, all in Docker, and then additionally (if you want), helps you set up a Watchtower, a Clearnet IP, and various scripts you can constantly run to ensure your node is always online and reachable.
We have hardware recommendations, as well as directions for setting up a ZFS Pool with two hard drives.
You can clone this repository and use it, but we recommend instead that you follow the full tutorial, which presents each Docker container in order and helps you configure each Docker process.
Each of the scripts (ending with .sh
) in the root directory launches something useful.
Currently, to run everything, you need four (4) different machines, typically two (2) local computers, at different physical locations, each with at least 1 TB of storage. These machines will be running LND and an LND Watchtower. Then, two (2) more machines are required, typically two different VPS instances.
But: Depending on your use case, you might only want to run the one (1) MAIN LND NODE MACHINE... that's why we recommend you do the full tutorial, as that will help you decide if you need to add the other machines, too.
Here's a rundown on the scripts, in the rough order you might want to run them.
start-tor.sh
: Tor
start-bitcoin.sh
: Bitcoin Core (configuration)
start-lnd.sh
: LND (configuration)
exec-lncli
: Executes CLI in running LND container
start-watch-backups.sh
: Python script for automatic SCB uploads to S3 (configuration)
(OPTIONAL TO RUN ON THIS MACHINE)
start-lndg.sh
: LNDG
start-send-node-status.sh
: Constantly send node status messages to a RabbitMQ Queue (configuration requires these directions)
start-tor.sh
: Tor
start-bitcoin.sh
: Bitcoin Core (configuration)
start-watchtower.sh
: LND Watchtower (configuration requires these directions)
start-remote-connectivity.sh
: Constantly test LND for external connectivity (configuration requires these directions)
start-wireguard-on-vps.sh
: Wireguard VPN (configuration requires these directions)
start-queue-listeners.sh
: Listen to RabbitMQ queue and trigger alarms when necessary (configuration requires these directions)
This repository uses bits of other repositories, including: