Files
timmy-tower/infrastructure/docker-compose.yml
alexpaynex 8acc30d41e Update node to use Bitcoin Knots for improved flexibility
Switch to the Bitcoin Knots Docker image and adjust data directory paths and healthcheck commands in docker-compose.yml, lnd-init.sh, ops.sh, and setup.sh.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 418bf6f8-212b-4bb0-a7a5-8231a061da4e
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 66d0db34-90d1-4f85-b27d-f9f747253c18
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:18:08 +00:00

92 lines
2.2 KiB
YAML

services:
bitcoin:
# Bitcoin Knots — Luke Dashjr's fork of Core, stricter mempool policy
# Image is unofficial but built from reproducible Knots binaries (bitcoinknots.org)
# For max sovereignty: build from source and replace this image with your own
# To swap implementations: change image + datadir volume path, nothing else
image: bitcoinknots/bitcoin:29.3.knots20260210
container_name: bitcoin
restart: unless-stopped
volumes:
- bitcoin_data:/home/bitcoin/.bitcoin
ports:
- "8333:8333"
networks:
- node-net
healthcheck:
test: ["CMD", "bitcoin-cli", "-datadir=/home/bitcoin/.bitcoin", "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