version: '2' services: # btc is an image of bitcoin node which used as base image for btcd and # btccli. The environment variables default values determined on stage of # container start within starting script. btcd: image: btcd container_name: btcd build: context: btcd/ volumes: - shared:/rpc - bitcoin:/data environment: - RPCUSER - RPCPASS - NETWORK - DEBUG - MINING_ADDRESS entrypoint: ["./start-btcd.sh"] lnd: image: lnd container_name: lnd build: context: ../ dockerfile: docker/lnd/Dockerfile environment: - RPCUSER - RPCPASS - NETWORK - CHAIN - DEBUG volumes: - shared:/rpc - lnd:/root/.lnd entrypoint: ["./start-lnd.sh"] links: - "btcd:blockchain" volumes: # shared volume is need to store the btcd rpc certificates and use it within # btcctl and lnd containers. shared: driver: local # bitcoin volume is needed for maintaining blockchain persistence # during btcd container recreation. bitcoin: driver: local # lnd volume is used for persisting lnd application data and chain state # during container lifecycle. lnd: driver: local