Set up Bitcoin node and Lightning infrastructure with Docker
Create Docker Compose configuration, Bitcoin and LND configuration files, and bootstrap/init scripts for setting up a Bitcoin full node, LND, and LNbits on a Digital Ocean droplet. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 418bf6f8-212b-4bb0-a7a5-8231a061da4e Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 0b0f1422-94e9-40dc-9b10-29c5f33a1bac Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/9f85e954-647c-46a5-90a7-396e495a805a/418bf6f8-212b-4bb0-a7a5-8231a061da4e/sPDHkg8 Replit-Helium-Checkpoint-Created: true
This commit is contained in:
87
infrastructure/docker-compose.yml
Normal file
87
infrastructure/docker-compose.yml
Normal file
@@ -0,0 +1,87 @@
|
||||
services:
|
||||
|
||||
bitcoin:
|
||||
image: lncm/bitcoind:v27.0
|
||||
container_name: bitcoin
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- bitcoin_data:/data/.bitcoin
|
||||
ports:
|
||||
- "8333:8333"
|
||||
networks:
|
||||
- node-net
|
||||
healthcheck:
|
||||
test: ["CMD", "bitcoin-cli", "-conf=/data/.bitcoin/bitcoin.conf", "getblockchaininfo"]
|
||||
interval: 60s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
lnd:
|
||||
image: lightningnetwork/lnd:v0.18.3-beta
|
||||
container_name: lnd
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
bitcoin:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- lnd_data:/root/.lnd
|
||||
ports:
|
||||
- "9735:9735"
|
||||
networks:
|
||||
- node-net
|
||||
healthcheck:
|
||||
test: ["CMD", "lncli", "--network=mainnet", "state"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
start_period: 60s
|
||||
|
||||
lnbits:
|
||||
image: lnbits/lnbits:latest
|
||||
container_name: lnbits
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
lnd:
|
||||
condition: service_started
|
||||
ports:
|
||||
- "127.0.0.1:5000:5000"
|
||||
volumes:
|
||||
- lnbits_data:/app/data
|
||||
- lnd_data:/lnd:ro
|
||||
environment:
|
||||
- LNBITS_DATA_FOLDER=/app/data
|
||||
- LNBITS_BACKEND_WALLET_CLASS=LndRestWallet
|
||||
- LND_REST_ENDPOINT=https://lnd:8080
|
||||
- LND_REST_CERT=/lnd/tls.cert
|
||||
- LND_REST_MACAROON=/lnd/data/chain/bitcoin/mainnet/invoice.macaroon
|
||||
- LNBITS_SITE_TITLE=Timmy Node
|
||||
- LNBITS_SITE_TAGLINE=Lightning AI Agent Infrastructure
|
||||
- UVICORN_HOST=0.0.0.0
|
||||
- UVICORN_PORT=5000
|
||||
networks:
|
||||
- node-net
|
||||
|
||||
networks:
|
||||
node-net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
bitcoin_data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
o: bind
|
||||
device: /data/bitcoin
|
||||
lnd_data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
o: bind
|
||||
device: /data/lnd
|
||||
lnbits_data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: none
|
||||
o: bind
|
||||
device: /data/lnbits
|
||||
Reference in New Issue
Block a user