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