From 84fecd1dcc9e52097b6730f9ae7d0e184ee22010 Mon Sep 17 00:00:00 2001 From: fusion44 Date: Sun, 20 Mar 2022 19:55:52 +0100 Subject: [PATCH] feat: implement simple docker compose dev env refs #62 --- .gitignore | 1 + docker/.env.sample | 3 ++ docker/README.md | 8 +++++ docker/docker-compose.yml | 61 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 docker/.env.sample create mode 100644 docker/README.md create mode 100644 docker/docker-compose.yml diff --git a/.gitignore b/.gitignore index c29620e..d75d93f 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ __pycache__ .coverage htmlcov scripts/sync_to_blitz.personal.sh +docker/.env diff --git a/docker/.env.sample b/docker/.env.sample new file mode 100644 index 0000000..4726a55 --- /dev/null +++ b/docker/.env.sample @@ -0,0 +1,3 @@ +BITCOIND_DATA_PATH=/home/username/.blitz_api/docker_bitcoin_data +LND_1_DATA_PATH=/home/username/.blitz_api/docker_lnd_1 +LND_2_DATA_PATH=/home/username/.blitz_api/docker_lnd_2 diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 0000000..5ef4562 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,8 @@ +# Blitz API Dockerized + +## Start a dev env + +This exists to setup a simple Bitcoin Testnet environment to develop the API. + +* Copy `.env.sample` to `.env` and edit the variable as necessary +* Run `docker-compose up --env-file .env` within this folder. diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..fd3591f --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,61 @@ +version: '3' + +services: + bitcoin-core: + image: ruimarinho/bitcoin-core + stop_grace_period: 1m + command: + -printtoconsole + -testnet=1 + -server=1 + -rpcallowip=0.0.0.0/0 + -rpcbind=0.0.0.0 + -rpcuser=bitcoin + -rpcpassword=bitcoin + -zmqpubrawblock=tcp://0.0.0.0:28332 + -zmqpubrawtx=tcp://0.0.0.0:28333 + volumes: + - ${BITCOIND_DATA_PATH}:/home/bitcoin/.bitcoin + ports: + - 18332:18332 + - 18333:18333 + - 28332:28332 + - 28333:28333 + lnd_1: + image: lightninglabs/lnd:v0.14.1-beta + stop_grace_period: 1m + command: + --bitcoin.active + --bitcoin.testnet + --bitcoin.node=bitcoind + --bitcoind.rpcuser=bitcoin + --bitcoind.rpcpass=bitcoin + --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 + --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 + --norest + depends_on: + - "bitcoin-core" + volumes: + - ${LND_1_DATA_PATH}:/root/.lnd + ports: + - 8080:8080 + - 10009:10009 + lnd_2: + image: lightninglabs/lnd:v0.14.1-beta + stop_grace_period: 1m + command: + --bitcoin.active + --bitcoin.testnet + --bitcoin.node=bitcoind + --bitcoind.rpcuser=bitcoin + --bitcoind.rpcpass=bitcoin + --bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 + --bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 + --norest + depends_on: + - "bitcoin-core" + volumes: + - ${LND_2_DATA_PATH}:/root/.lnd + ports: + - 8081:8081 + - 10010:10009