version: "3" # Run `docker-compose up dev` for bootstrapping your development environment # Doing so will expose NBXplorer, Bitcoind RPC and postgres port to the host so that tests can Run, # The Visual Studio launch setting `Docker-regtest` is configured to use this environment. services: tests: build: context: .. dockerfile: BTCPayServer.Tests/Dockerfile environment: TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3 TESTS_LTCRPCCONNECTION: server=http://litecoind:43782;ceiwHEbqWI83:DwubwWsoo3 TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/ TESTS_LTCNBXPLORERURL: http://nbxplorer:32838/ TESTS_DB: "Postgres" TESTS_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver TESTS_HOSTNAME: tests TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-false} TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none} TEST_MERCHANTLIGHTNINGD: "type=clightning;server=unix://etc/merchant_lightningd_datadir/lightning-rpc" TEST_CUSTOMERLIGHTNINGD: "type=clightning;server=unix://etc/customer_lightningd_datadir/lightning-rpc" TEST_MERCHANTCHARGE: "type=charge;server=http://lightning-charged:9112/;api-token=foiewnccewuify" TEST_MERCHANTLND: "https://lnd:lnd@merchant_lnd:8080/" TESTS_INCONTAINER: "true" TESTS_SSHCONNECTION: "root@sshd:22" TESTS_SSHPASSWORD: "" TESTS_SSHKEYFILE: "" expose: - "80" links: - dev extra_hosts: - "tests:127.0.0.1" volumes: - "sshd_datadir:/root/.ssh" - "customer_lightningd_datadir:/etc/customer_lightningd_datadir" - "merchant_lightningd_datadir:/etc/merchant_lightningd_datadir" # The dev container is not actually used, it is just handy to run `docker-compose up dev` to start all services dev: image: alpine:3.7 command: [ "/bin/sh", "-c", "trap : TERM INT; while :; do echo Ready to code and debug like a rockstar!!!; sleep 2073600; done & wait" ] links: - nbxplorer - postgres - customer_lightningd - merchant_lightningd - lightning-charged - customer_lnd - merchant_lnd - sshd sshd: build: context: . dockerfile: sshd.Dockerfile ports: - "21622:22" expose: - 22 volumes: - "sshd_datadir:/root/.ssh" devlnd: image: btcpayserver/bitcoin:0.18.0 environment: BITCOIN_NETWORK: regtest BITCOIN_EXTRA_ARGS: | deprecatedrpc=signrawtransaction connect=bitcoind:39388 links: - nbxplorer - postgres - customer_lnd - merchant_lnd nbxplorer: image: nicolasdorier/nbxplorer:2.0.0.62 restart: unless-stopped ports: - "32838:32838" expose: - "32838" environment: NBXPLORER_NETWORK: regtest NBXPLORER_CHAINS: "btc,ltc" NBXPLORER_BTCRPCURL: http://bitcoind:43782/ NBXPLORER_BTCNODEENDPOINT: bitcoind:39388 NBXPLORER_BTCRPCUSER: ceiwHEbqWI83 NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3 NBXPLORER_LTCRPCURL: http://litecoind:43782/ NBXPLORER_LTCNODEENDPOINT: litecoind:39388 NBXPLORER_LTCRPCUSER: ceiwHEbqWI83 NBXPLORER_LTCRPCPASSWORD: DwubwWsoo3 NBXPLORER_BIND: 0.0.0.0:32838 NBXPLORER_VERBOSE: 1 NBXPLORER_NOAUTH: 1 links: - bitcoind - litecoind bitcoind: restart: unless-stopped image: btcpayserver/bitcoin:0.18.0 environment: BITCOIN_NETWORK: regtest BITCOIN_EXTRA_ARGS: |- rpcuser=ceiwHEbqWI83 rpcpassword=DwubwWsoo3 rpcport=43782 rpcbind=0.0.0.0:43782 port=39388 whitelist=0.0.0.0/0 zmqpubrawblock=tcp://0.0.0.0:28332 zmqpubrawtx=tcp://0.0.0.0:28333 deprecatedrpc=signrawtransaction ports: - "43782:43782" expose: - "43782" # RPC - "39388" # P2P - "28332" # ZMQ - "28333" # ZMQ volumes: - "bitcoin_datadir:/data" customer_lightningd: image: btcpayserver/lightning:v0.7.3-dev stop_signal: SIGKILL restart: unless-stopped environment: EXPOSE_TCP: "true" LIGHTNINGD_CHAIN: "btc" LIGHTNINGD_NETWORK: "regtest" LIGHTNINGD_OPT: | bitcoin-datadir=/etc/bitcoin bitcoin-rpcconnect=bitcoind announce-addr=customer_lightningd log-level=debug funding-confirms=1 dev-fast-gossip dev-bitcoind-poll=1 ports: - "30992:9835" # api port expose: - "9735" # server port - "9835" # api port volumes: - "bitcoin_datadir:/etc/bitcoin" - "customer_lightningd_datadir:/root/.lightning" links: - bitcoind lightning-charged: image: shesek/lightning-charge:0.4.11-standalone restart: unless-stopped environment: NETWORK: regtest API_TOKEN: foiewnccewuify BITCOIND_RPCCONNECT: bitcoind volumes: - "bitcoin_datadir:/etc/bitcoin" - "lightning_charge_datadir:/data" - "merchant_lightningd_datadir:/etc/lightning" expose: - "9112" # Charge - "9735" # Lightning ports: - "54938:9112" # Charge links: - bitcoind - merchant_lightningd merchant_lightningd: image: btcpayserver/lightning:v0.7.3-dev stop_signal: SIGKILL environment: EXPOSE_TCP: "true" LIGHTNINGD_CHAIN: "btc" LIGHTNINGD_NETWORK: "regtest" LIGHTNINGD_OPT: | bitcoin-datadir=/etc/bitcoin bitcoin-rpcconnect=bitcoind announce-addr=merchant_lightningd funding-confirms=1 log-level=debug dev-fast-gossip dev-bitcoind-poll=1 ports: - "30993:9835" # api port expose: - "9735" # server port - "9835" # api port volumes: - "bitcoin_datadir:/etc/bitcoin" - "merchant_lightningd_datadir:/root/.lightning" links: - bitcoind litecoind: restart: unless-stopped image: nicolasdorier/docker-litecoin:0.16.3 environment: BITCOIN_EXTRA_ARGS: |- rpcuser=ceiwHEbqWI83 rpcpassword=DwubwWsoo3 regtest=1 rpcport=43782 port=39388 whitelist=0.0.0.0/0 ports: - "43783:43782" expose: - "43782" # RPC - "39388" # P2P postgres: image: postgres:9.6.5 ports: - "39372:5432" expose: - "5432" merchant_lnd: image: btcpayserver/lnd:v0.7.1-beta-withseed restart: unless-stopped environment: LND_CHAIN: "btc" LND_ENVIRONMENT: "regtest" LND_EXPLORERURL: "http://nbxplorer:32838/" LND_EXTRA_ARGS: | restlisten=0.0.0.0:8080 rpclisten=127.0.0.1:10008 rpclisten=0.0.0.0:10009 bitcoin.node=bitcoind bitcoind.rpchost=bitcoind:43782 bitcoind.zmqpubrawblock=tcp://bitcoind:28332 bitcoind.zmqpubrawtx=tcp://bitcoind:28333 externalip=merchant_lnd:9735 bitcoin.defaultchanconfs=1 no-macaroons=1 debuglevel=debug trickledelay=1000 ports: - "53280:8080" expose: - "9735" volumes: - "merchant_lnd_datadir:/data" - "bitcoin_datadir:/deps/.bitcoin" links: - bitcoind customer_lnd: image: btcpayserver/lnd:v0.7.1-beta-withseed restart: unless-stopped environment: LND_CHAIN: "btc" LND_ENVIRONMENT: "regtest" LND_EXPLORERURL: "http://nbxplorer:32838/" LND_EXTRA_ARGS: | restlisten=0.0.0.0:8080 rpclisten=127.0.0.1:10008 rpclisten=0.0.0.0:10009 bitcoin.node=bitcoind bitcoind.rpchost=bitcoind:43782 bitcoind.zmqpubrawblock=tcp://bitcoind:28332 bitcoind.zmqpubrawtx=tcp://bitcoind:28333 externalip=customer_lnd:10009 bitcoin.defaultchanconfs=1 no-macaroons=1 debuglevel=debug trickledelay=1000 ports: - "53281:8080" expose: - "8080" - "10009" volumes: - "customer_lnd_datadir:/root/.lnd" - "bitcoin_datadir:/deps/.bitcoin" links: - bitcoind volumes: sshd_datadir: bitcoin_datadir: customer_lightningd_datadir: merchant_lightningd_datadir: lightning_charge_datadir: customer_lnd_datadir: merchant_lnd_datadir: