You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.8 KiB

# Docker Images
> The Dockerfiles used to build the images that the Polar app needs to spin up nodes quickly across multiple operating systems.
_Warning: These images are not hardened and shouldn't be used to store real bitcoin. These images are intended solely to be used in simnet/regtest environments_
## Bitcoin Core
### Tags
- `0.18.1`, `latest` ([bitcoind/Dockerfile](https://github.com/jamaljsr/polar/blob/master/docker/bitcoind/Dockerfile))
**Building the image**
```sh
$ cd bitcoind
$ docker build --build-arg BITCOIN_VERSION=<version> -t polarlightning/bitcoind:<version> .
```
Replace `<version>` with the desired bitcoind version (ex: `0.18.1`)
**Push to Docker Hub**
```sh
$ docker push polarlightning/bitcoind:<version>
```
## LND
### Tags
- `0.8.0-beta`, `latest` ([lnd/Dockerfile](https://github.com/jamaljsr/polar/blob/master/docker/lnd/Dockerfile))
- `0.7.1-beta` ([lnd/Dockerfile](https://github.com/jamaljsr/polar/blob/master/docker/lnd/Dockerfile))
**Building the image**
```sh
$ cd lnd
$ docker build --build-arg LND_VERSION=<version> -t polarlightning/lnd:<version> .
```
Replace `<version>` with the desired LND version (ex: `0.8.0-beta`)
**Push to Docker Hub**
```sh
$ docker push polarlightning/lnd:<version>
```
## c-lightning
### Tags
- `0.7.3`, `latest` ([lnd/Dockerfile](https://github.com/jamaljsr/polar/blob/master/docker/clightning/Dockerfile))
**Building the image**
```sh
$ cd clightning
$ docker build --build-arg CLN_VERSION=<version> -t polarlightning/clightning:<version> .
```
Replace `<version>` with the desired c-lightning version (ex: `0.8.0`).
**Push to Docker Hub**
```sh
$ docker push polarlightning/clightning:<version>
```
# Out-of-Band Image Updates
These docker images can be updated in-between Polar releases. This allows developers to use the latest Bitcoin & Lightning versions shortly after they are released, without needing to download and install a new version of Polar.
To make new docker image versions available:
1. Build the new docker image using the commands above
1. Push the image to Docker Hub
1. Update the [`/docker/nodes.json`](https://github.com/jamaljsr/polar/blob/master/docker/nodes.json) file
- add the new version to the `versions` array of the associated implementation
- update the `latest` property of the implementation if necessary
- increment the root-level `version` number by `1`
Once the updated `nodes.json` file is committed to master, the new images can be used in Polar by following these steps:
1. Create a Network or view an existing Network
1. In the Network Designer sidebar, click on the **Show All Versions** toggle
1. At the bottom of the node list, click on the **Check for new Node Versions** link
1. A dialog will open displaying the new versions available
1. Click the **Add New Versions** button to begin using them