Skip to content

MegalithicBTC/LND-With-Docker

Repository files navigation

   __  __                  _ _ _   _           
 |  \/  | ___  __ _  __ _| (_) |_| |__        
 | |\/| |/ _ \/ _` |/ _` | | | __| '_ \       
 | |  | |  __/ (_| | (_| | | | |_| | | |      
 |_|  |_|\___|\__, |\__,_|_|_|\__|_| |_|      
  _     _     |___/   _         _             
 | |   (_) __ _| |__ | |_ _ __ (_)_ __   __ _ 
 | |   | |/ _` | '_ \| __| '_ \| | '_ \ / _` |
 | |___| | (_| | | | | |_| | | | | | | | (_| |
 |_____|_|\__, |_| |_|\__|_| |_|_|_| |_|\__, |
 |  _ \  _|___/___ ___                  |___/ 
 | | | |/ _ \ / __/ __|                       
 | |_| | (_) | (__\__ \                       
 |____/ \___/ \___|___/                       
                                                                        
                                                    

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.

MAIN LND NODE MACHINE (REQUIRED)

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)

WATCHTOWER MACHINE (OPTIONAL)

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)

MACHINE WITH STATIC IP, TO RUN WIREGUARD VPN (OPTIONAL)

start-wireguard-on-vps.sh: Wireguard VPN (configuration requires these directions)

QUEUE LISTENER MACHINE (OPTIONAL)

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:

tor-socks-proxy

docker-bitcoind

lndg

lnd

Dual-LND-Wireguard-VPS

wg-easy

About

Example of LND with Docker, Bitcoind, and Tor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published