Files
timmy-tower/infrastructure/docker-compose.yml
alexpaynex 88b5ebfa3c 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
2026-03-18 18:13:29 +00:00

88 lines
1.9 KiB
YAML

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