An open API service indexing awesome lists of open source software.

https://github.com/nolim1t/docker-lnd-pool

LND Pool - https://github.com/lightninglabs/pool with buildx (cross platform) bindings in a docker container.
https://github.com/nolim1t/docker-lnd-pool

bitcoin docker lnd orchestration pool pool-party

Last synced: 7 months ago
JSON representation

LND Pool - https://github.com/lightninglabs/pool with buildx (cross platform) bindings in a docker container.

Awesome Lists containing this project

README

          

# LND Pool Auto-build

[![pipeline status](https://gitlab.com/nolim1t/docker-lnd-pool/badges/master/pipeline.svg)](https://gitlab.com/nolim1t/docker-lnd-pool/-/commits/master)

## Abstract

This project automagically builds LND pool and pushes it to the [gitlab container registry](https://gitlab.com/nolim1t/docker-lnd-pool/container_registry/1590355)

## Mirrors

Because I'm a fan of decentralization, we should branch out to other repos too.

* [Gitlab](https://gitlab.com/nolim1t/docker-lnd-pool) - CI Building to Gitlab Container registry
* [Github](https://github.com/nolim1t/docker-lnd-pool) - Build to `ghcr.io/nolim1t/lnd-pool` and `nolim1t/lnd-pool` on dockerhub

## Building

The below builds whatever is defined in the dockerfile

```bash
docker build -t nolim1t/pool:latest .
```

## Running

Running the container

```bash
# Get version
docker run --rm -it --name pool \
-v $HOME/.pool:/data/.pool \
nolim1t/pool:latest --version

# Help
docker run --rm -it --name pool \
-v $HOME/.pool:/data/.pool \
nolim1t/pool:latest --help
```

## Docker Compose

This spawns up LND, LND Unlock, and LND pool.

Default configuration as host networking and neutrino

### Configuration notes

#### LND

Create a directory in `${HOME}/.lnd` and a file called `lnd.conf`

You can grab a sample from [this repo](https://github.com/lncm/thebox-compose-system/blob/master/lnd/lnd.conf)

#### LND Unlock

Create a directory called `${HOME}/.secrets` and put your password in a file called `lnd-password.txt` which should live in the secrets directory.

#### Pool

Create a directory called `${HOME}/.pool` and put a file called `poold.conf` in it

This is quite new to me as of now. Configuration to be tested.

##### Config Samples

For a detail configuration spec, see the [upstream](https://github.com/lightninglabs/pool/blob/ae48cf330ff929a23b5fee16ae101f75cd400808/config.go#L83) repository

```
[Application Options]
; default settings for now
network=mainnet
rpclisten=localhost:12010
restlisten=localhost:8281

; Assume that everything is on the same machine
[lnd]
lnd.host=localhost:10009
lnd.macaroondir=/lnd/data/chain/bitcoin/mainnet
lnd.tlspath=/lnd
```

### Example file

```yaml
version: "3.8"
services:
lnd:
image: lncm/lnd:v0.11.1-experimental
container_name: lnd
network_mode: host
stop_grace_period: 10m30s
restart: unless-stopped
volumes:
- "${HOME}/.lnd:/data/.lnd"
lnd-unlock:
image: lncm/lnd-unlock:1.0.2
container_name: lnd-unlock
network_mode: host
depends_on: [ lnd ]
restart: unless-stopped
volumes:
- "${HOME}/.lnd:/lnd"
- "${HOME}/.secrets:/secrets"
environment:
NETWORK: mainnet
LNDHOSTNAME: lnd
HOSTIPPORT: localhost:8080
pool:
image: registry.gitlab.com/nolim1t/docker-lnd-pool:latest
depends_on: [ lnd ]
container_name: pool
network_mode: host
restart: unless-stopped
stop_grace_period: 1m30s
volumes:
- "${HOME}/.pool:/data/.pool"
```

## Todo

- [x] Test out container builds
- [x] Document more
- [ ] Work out how poold works with testnet
- [x] Set up github mirroring
- [ ] Set up equivalent github actions