version: '3' services: db: image: postgres container_name: db environment: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres volumes: - postgres_dir:/var/lib/postgresql/data - ../createdb.sql:/docker-entrypoint-initdb.d/init.sql btcd: image: btcd container_name: btcd build: context: ../ dockerfile: docker/btcd/Dockerfile volumes: - shared:/rpc - bitcoin:/data environment: - NETWORK=testnet entrypoint: ["./start-btcd.sh"] lnd: image: lnd container_name: lnd build: context: ../ dockerfile: docker/lnd/Dockerfile environment: - NETWORK=testnet - RPCHOST=btcd volumes: - shared:/rpc - lnd_dir:/root/.lnd links: - "btcd:btcd" entrypoint: ["./start-lnd.sh"] sqkserver: image: sqkserver container_name: sqkserver build: context: ../ dockerfile: docker/sqkserver/Dockerfile volumes: - shared:/rpc - lnd_dir:/root/.lnd - ./config.ini:/app/config.ini links: - "btcd:btcd" - "lnd:lnd" depends_on: - db sysctls: - net.ipv6.conf.all.disable_ipv6=0 entrypoint: ["./start-sqkserver.sh"] envoy: image: envoy container_name: envoy build: context: ../ dockerfile: docker/envoy/Dockerfile ports: - 8080:8080 links: - "sqkserver:sqkserver" frontend: image: frontend container_name: frontend build: context: ../ dockerfile: docker/frontend/Dockerfile ports: - 8081:8081 volumes: bitcoin: driver: local # shared volume is needed for sharing the btcd certificate shared: driver: local # lnd_dir volume is needed for sharing the lnd tls certificate lnd_dir: driver: local postgres_dir: driver: local