Improve readme, still WIP

This commit is contained in:
pablo 2023-02-18 19:48:04 +01:00
parent 1750edcc3d
commit 54f65efd77
3 changed files with 104 additions and 0 deletions

65
README.md Normal file
View file

@ -0,0 +1,65 @@
# 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
TODO: explain
### 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
on the root of this repo. TODO: make template in
### Smoke testing
TODO: describe how to check that everything is warning.
## 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.

View file

@ -0,0 +1,18 @@
# [core]
# Maintain a full transaction index, used by the getrawtransaction rpc call.
txindex=1
# [rpc]
# Accept command line and JSON-RPC commands.
server=1
rpcauth=<fill your user here>:<fill the password hash here> # You can use https://jlopp.github.io/bitcoin-core-rpc-auth-generator/ to generate this.
rpcallowip=<allowed ips> # You probably want to put the subnet mask used in the docker-compose.yaml .env file here.
rpcbind=0.0.0.0
# [wallet]
# Do not load the wallet and disable wallet RPC calls.
disablewallet=1
pruned=0
peerbloomfilters=1

View file

@ -0,0 +1,21 @@
# File where bitcoind stores the cookie, usually file .cookie in its datadir
cookie_file = "/home/bitcoin/data/.cookie"
# The listening RPC address of bitcoind, port is usually 8332
daemon_rpc_addr = "bitcoind:8332"
# The listening P2P address of bitcoind, port is usually 8333
daemon_p2p_addr = "bitcoind:8333"
# Directory where the index should be stored. It should have at least 70GB of free space.
db_dir = "/home/electrs/data/index"
# bitcoin means mainnet. Don't set to anything else unless you're a developer.
network = "bitcoin"
# The address on which electrs should listen. Warning: 0.0.0.0 is probably a bad idea!
# Tunneling is the recommended way to access electrs remotely.
electrum_rpc_addr = "0.0.0.0:50001"
# How much information about internal workings should electrs print. Increase before reporting a bug.
log_filters = "INFO"