version: '3' services: 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" sysctls: - net.ipv6.conf.all.disable_ipv6=0 entrypoint: ["./start-lnd.sh"] lnd_other: image: lnd_other container_name: lnd_other build: context: ../ dockerfile: docker/lnd/Dockerfile environment: - NETWORK=testnet - RPCHOST=btcd volumes: - shared:/rpc - lnd_other_dir:/root/.lnd links: - "btcd:btcd" sysctls: - net.ipv6.conf.all.disable_ipv6=0 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 - sqk_dir:/root/.sqk ports: - 8774:8774 links: - "btcd:btcd" - "lnd:lnd" environment: - EXTERNAL_LND_HOST=lnd sysctls: - net.ipv6.conf.all.disable_ipv6=0 entrypoint: ["./start-sqkserver.sh"] sqkserver_other: image: sqkserver_other container_name: sqkserver_other build: context: ../ dockerfile: docker/sqkserver/Dockerfile volumes: - shared:/rpc - lnd_other_dir:/root/.lnd - ./config.ini:/app/config.ini - sqk_other_dir:/root/.sqk links: - "btcd:btcd" - "lnd_other:lnd" environment: - EXTERNAL_LND_HOST=lnd_other 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" environment: - SERVICE_NAME=sqkserver envoy_other: image: envoy_other container_name: envoy_other build: context: ../ dockerfile: docker/envoy/Dockerfile ports: - 8090:8080 links: - "sqkserver_other:sqkserver_other" environment: - SERVICE_NAME=sqkserver_other frontend: image: frontend container_name: frontend build: context: ../ dockerfile: docker/frontend/Dockerfile args: - PORT=8080 ports: - 8081:8081 frontend_other: image: frontend_other container_name: frontend_other build: context: ../ dockerfile: docker/frontend/Dockerfile args: - PORT=8090 ports: - 8091: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 # lnd_other_dir volume is needed for sharing the lnd tls certificate lnd_other_dir: driver: local sqk_dir: driver: local sqk_other_dir: driver: local postgres_dir: driver: local