counterweight_v2/README.md

85 lines
2.5 KiB
Markdown
Raw Normal View History

2023-02-18 19:48:04 +01:00
# Counterweight V2
This is the repo where I store everything necessary to spin up my
Bitcoin-related node.
It currently includes:
- Bitcoin core
- electrs
- mempool block explorer
- lnbits
## How to deploy
### Requirements
These instructions assume you are on a debian/ubuntu machine with docker,
docker compose and git installed.
### Cloning
First, clone this repo where you would like to run your node.
### Building electrs
2023-02-18 22:58:26 +01:00
Since there is no good `electrs` docker image out there, we roll our own one
for this project. The file is `Dockerfile-electrs`. To build the image, run the
following command:
```bash
docker build -t my-electrs:latest -f Dockerfile-electrs .
```
2023-02-18 19:48:04 +01:00
### Environment and configuration files
Now, you need to build a `.env` file. You can start by making a copy of
`.env-example` and filling it.
Afterwards, create the `data` folder in the root of the cloned repo. Inside,
create the folders `bitcoin`, `electrs`, `mempool` and `lnbits`.
Inside `data/bitcoin`, you will need to place a `bitcoin.conf` file. You can
use the example in `config_templates/bitcoin.conf`. Ensure that your inputs
here are consistent with the ones in the `.env` file.
Inside `data/electrs/config`, you will need to place a `config.toml` file. You
can use the example in `config_templates/config.toml`. For this one, you should
not make any changes if you are following these instructions.
Inside `data/lnbits`, you will need to place a `.env` file. Pay attention: this
file is specific for LNbits and is unrelated to the other `.env` file that sits
2023-02-18 22:58:26 +01:00
on the root of this repo. The best place to get an example is [the official
LNbits repository](https://github.com/lnbits/lnbits).
### Running and Smoke testing
2023-02-18 19:48:04 +01:00
2023-02-18 22:58:26 +01:00
To run, execute a simple `docker compose up -d`.
2023-02-18 19:48:04 +01:00
2023-02-18 22:58:26 +01:00
Once you get everything running, here is how you can check on the health of the
different services:
2023-02-18 19:48:04 +01:00
2023-02-18 22:58:26 +01:00
- All: check if the containers are running.
- Bitcoin: check the logs. You should see Bitcoin updating its tip with as new
blocks are found.
- Electrs: connect from Sparrow or another wallet.
- Mempool: visit the page.
- LNbits: visit the page, perhaps make a small transaction if you want to be
dead sure everything is up and running.
2023-02-18 19:48:04 +01:00
## Upgrading versions of the different services
- Bitcoin: upgrade in docker-compose.yaml.
- electrs: specify tag in custom electrs dockerfile, build again.
- mempool: upgrade web, api and db in docker-compose.yaml.
- LNbits: upgrade in docker-compose.yaml.
### How to backup data
TODO: explain how to back all the data up with a rsync.