btcpayserver/BTCPayServer.Tests/docker-compose.yml

352 lines
9.9 KiB
YAML
Raw Normal View History

version: "3"
2017-09-28 16:35:29 +09:00
2017-12-13 15:49:19 +09:00
# Run `docker-compose up dev` for bootstrapping your development environment
2018-03-17 15:45:44 +09:00
# Doing so will expose NBXplorer, Bitcoind RPC and postgres port to the host so that tests can Run,
2019-01-05 10:18:01 +01:00
# The Visual Studio launch setting `Docker-regtest` is configured to use this environment.
2017-09-28 16:35:29 +09:00
services:
2017-09-28 18:49:24 +09:00
tests:
2017-09-28 18:49:24 +09:00
build:
context: ..
dockerfile: BTCPayServer.Tests/Dockerfile
2017-09-28 18:49:24 +09:00
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
2019-04-22 17:19:04 +09:00
TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-false}
TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none}
2018-12-18 22:35:58 +09:00
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"
2019-09-06 16:59:20 +09:00
TESTS_SSHCONNECTION: "root@sshd:22"
TESTS_SSHPASSWORD: ""
TESTS_SSHKEYFILE: ""
TESTS_SOCKSENDPOINT: "tor:9050"
expose:
- "80"
2017-09-28 18:49:24 +09:00
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"
2017-09-28 18:49:24 +09:00
2017-12-13 15:49:19 +09:00
# The dev container is not actually used, it is just handy to run `docker-compose up dev` to start all services
dev:
2019-09-10 13:02:52 +09:00
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" ]
2017-12-13 15:49:19 +09:00
links:
- nbxplorer
- postgres
- customer_lightningd
- merchant_lightningd
- lightning-charged
- customer_lnd
- merchant_lnd
- sshd
- tor
sshd:
build:
context: .
dockerfile: sshd.Dockerfile
ports:
- "21622:22"
expose:
- 22
volumes:
- "sshd_datadir:/root/.ssh"
devlnd:
2020-01-15 13:25:29 +09:00
image: btcpayserver/bitcoin:0.19.0.1
environment:
2018-10-19 01:35:07 +09:00
BITCOIN_NETWORK: regtest
BITCOIN_EXTRA_ARGS: |
2018-10-19 01:35:07 +09:00
deprecatedrpc=signrawtransaction
connect=bitcoind:39388
links:
- nbxplorer
- postgres
- customer_lnd
- merchant_lnd
nbxplorer:
2020-06-25 10:32:09 +02:00
image: nicolasdorier/nbxplorer:2.1.34
2018-10-27 23:14:26 +09:00
restart: unless-stopped
ports:
- "32838:32838"
2017-09-28 18:49:24 +09:00
expose:
- "32838"
2017-09-28 16:35:29 +09:00
environment:
2019-01-05 10:18:01 +01:00
NBXPLORER_NETWORK: regtest
2019-12-24 08:20:44 +01:00
NBXPLORER_CHAINS: "btc,ltc,lbtc"
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
2019-12-24 08:20:44 +01:00
NBXPLORER_LBTCRPCURL: "http://elementsd-liquid:19332/"
NBXPLORER_LBTCNODEENDPOINT: "elementsd-liquid:19444"
NBXPLORER_LBTCRPCUSER: "liquid"
NBXPLORER_LBTCRPCPASSWORD: "liquid"
2017-09-28 18:49:24 +09:00
NBXPLORER_BIND: 0.0.0.0:32838
2020-01-18 16:20:03 +09:00
NBXPLORER_MINGAPSIZE: 5
NBXPLORER_MAXGAPSIZE: 10
2017-11-06 00:31:02 -08:00
NBXPLORER_VERBOSE: 1
2017-09-28 16:35:29 +09:00
NBXPLORER_NOAUTH: 1
links:
- bitcoind
- litecoind
2019-12-24 08:20:44 +01:00
- elementsd-liquid
2017-12-03 01:56:26 +09:00
2018-12-20 21:20:30 +09:00
2017-09-28 16:35:29 +09:00
bitcoind:
2018-12-20 21:20:30 +09:00
restart: unless-stopped
2020-01-15 13:25:29 +09:00
image: btcpayserver/bitcoin:0.19.0.1
2017-09-28 16:35:29 +09:00
environment:
2019-01-05 10:18:01 +01:00
BITCOIN_NETWORK: regtest
2018-12-20 21:20:30 +09:00
BITCOIN_EXTRA_ARGS: |-
rpcuser=ceiwHEbqWI83
rpcpassword=DwubwWsoo3
2019-05-03 11:10:01 +09:00
rpcport=43782
2019-05-03 11:04:19 +09:00
rpcbind=0.0.0.0:43782
port=39388
whitelist=0.0.0.0/0
zmqpubrawblock=tcp://0.0.0.0:28332
2018-09-28 17:07:58 +09:00
zmqpubrawtx=tcp://0.0.0.0:28333
2018-12-20 21:34:09 +09:00
deprecatedrpc=signrawtransaction
ports:
- "43782:43782"
- "39388:39388"
expose:
- "43782" # RPC
- "39388" # P2P
2018-10-02 19:33:25 +09:00
- "28332" # ZMQ
- "28333" # ZMQ
volumes:
- "bitcoin_datadir:/data"
customer_lightningd:
2020-05-02 20:33:55 +09:00
image: btcpayserver/lightning:v0.8.2-dev
2018-11-06 15:38:07 +09:00
stop_signal: SIGKILL
2018-10-27 23:14:26 +09:00
restart: unless-stopped
environment:
2018-03-21 01:10:10 +09:00
EXPOSE_TCP: "true"
2019-08-17 15:25:00 +09:00
LIGHTNINGD_CHAIN: "btc"
2019-08-17 15:35:41 +09:00
LIGHTNINGD_NETWORK: "regtest"
LIGHTNINGD_OPT: |
bitcoin-datadir=/etc/bitcoin
bitcoin-rpcconnect=bitcoind
2018-05-10 11:56:46 +09:00
announce-addr=customer_lightningd
log-level=debug
funding-confirms=1
2019-10-29 16:46:10 +09:00
dev-fast-gossip
2018-08-28 18:06:07 +09:00
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.19-standalone
2018-10-27 23:14:26 +09:00
restart: unless-stopped
environment:
2019-01-05 10:18:01 +01:00
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:
2020-05-02 20:33:55 +09:00
image: btcpayserver/lightning:v0.8.2-dev
2018-11-06 15:38:07 +09:00
stop_signal: SIGKILL
2018-03-17 15:45:44 +09:00
environment:
2018-03-21 01:10:10 +09:00
EXPOSE_TCP: "true"
2019-08-17 15:25:00 +09:00
LIGHTNINGD_CHAIN: "btc"
LIGHTNINGD_NETWORK: "regtest"
2018-03-17 15:45:44 +09:00
LIGHTNINGD_OPT: |
bitcoin-datadir=/etc/bitcoin
bitcoin-rpcconnect=bitcoind
2018-05-10 11:56:46 +09:00
announce-addr=merchant_lightningd
funding-confirms=1
2018-03-17 15:45:44 +09:00
log-level=debug
2019-10-29 16:46:10 +09:00
dev-fast-gossip
dev-bitcoind-poll=1
ports:
- "30993:9835" # api port
expose:
- "9735" # server port
2018-03-17 15:45:44 +09:00
- "9835" # api port
volumes:
- "bitcoin_datadir:/etc/bitcoin"
- "merchant_lightningd_datadir:/root/.lightning"
2018-03-17 15:45:44 +09:00
links:
- bitcoind
litecoind:
2018-12-20 21:20:30 +09:00
restart: unless-stopped
2018-12-18 22:35:58 +09:00
image: nicolasdorier/docker-litecoin:0.16.3
environment:
2018-12-20 21:20:30 +09:00
BITCOIN_EXTRA_ARGS: |-
rpcuser=ceiwHEbqWI83
rpcpassword=DwubwWsoo3
2019-01-05 10:18:01 +01:00
regtest=1
rpcport=43782
port=39388
whitelist=0.0.0.0/0
ports:
- "43783:43782"
2017-09-28 16:35:29 +09:00
expose:
2017-12-13 15:49:19 +09:00
- "43782" # RPC
- "39388" # P2P
2019-12-24 08:20:44 +01:00
elementsd-liquid:
restart: always
container_name: btcpayserver_elementsd_liquid
2020-05-02 13:26:55 +02:00
image: btcpayserver/elements:0.18.1.7
2019-12-24 08:20:44 +01:00
environment:
ELEMENTS_CHAIN: elementsregtest
ELEMENTS_EXTRA_ARGS: |
mainchainrpcport=43782
mainchainrpchost=bitcoind
mainchainrpcuser=liquid
mainchainrpcpassword=liquid
rpcport=19332
rpcbind=0.0.0.0:19332
rpcauth=liquid:c8bf1a8961d97f224cb21224aaa8235d$$402f4a8907683d057b8c58a42940b6e54d1638322a42986ae28ebb844e603ae6
port=19444
whitelist=0.0.0.0/0
validatepegin=0
initialfreecoins=210000000000000
con_dyna_deploy_start=99999999999
expose:
- "19332"
- "19444"
ports:
- "19332:19332"
- "19444:19444"
volumes:
- "elementsd_liquid_datadir:/data"
2017-09-28 16:35:29 +09:00
postgres:
image: postgres:9.6.5
ports:
2017-11-01 02:17:39 -07:00
- "39372:5432"
2017-12-13 15:49:19 +09:00
expose:
- "5432"
merchant_lnd:
2020-06-08 23:28:45 -05:00
image: btcpayserver/lnd:v0.10.1-beta
2018-10-27 23:14:26 +09:00
restart: unless-stopped
environment:
2018-07-10 19:33:54 +09:00
LND_CHAIN: "btc"
2019-01-05 10:18:01 +01:00
LND_ENVIRONMENT: "regtest"
2018-12-20 21:20:30 +09:00
LND_EXPLORERURL: "http://nbxplorer:32838/"
2018-07-10 19:33:54 +09:00
LND_EXTRA_ARGS: |
restlisten=0.0.0.0:8080
2018-12-20 21:20:30 +09:00
rpclisten=127.0.0.1:10008
rpclisten=0.0.0.0:10009
2018-07-10 19:33:54 +09:00
bitcoin.node=bitcoind
bitcoind.rpchost=bitcoind:43782
2018-09-28 17:07:58 +09:00
bitcoind.zmqpubrawblock=tcp://bitcoind:28332
bitcoind.zmqpubrawtx=tcp://bitcoind:28333
2018-07-10 19:33:54 +09:00
externalip=merchant_lnd:9735
bitcoin.defaultchanconfs=1
2018-07-10 19:33:54 +09:00
no-macaroons=1
debuglevel=debug
2018-08-28 18:13:28 +09:00
trickledelay=1000
ports:
- "35531:8080"
expose:
- "9735"
volumes:
2018-07-10 19:33:54 +09:00
- "merchant_lnd_datadir:/data"
- "bitcoin_datadir:/deps/.bitcoin"
links:
- bitcoind
customer_lnd:
2020-06-08 23:28:45 -05:00
image: btcpayserver/lnd:v0.10.1-beta
2018-10-27 23:14:26 +09:00
restart: unless-stopped
environment:
2018-07-10 19:33:54 +09:00
LND_CHAIN: "btc"
2019-01-05 10:18:01 +01:00
LND_ENVIRONMENT: "regtest"
2018-12-20 21:20:30 +09:00
LND_EXPLORERURL: "http://nbxplorer:32838/"
2018-07-10 19:33:54 +09:00
LND_EXTRA_ARGS: |
restlisten=0.0.0.0:8080
2018-12-20 21:20:30 +09:00
rpclisten=127.0.0.1:10008
rpclisten=0.0.0.0:10009
2018-07-10 19:33:54 +09:00
bitcoin.node=bitcoind
bitcoind.rpchost=bitcoind:43782
2018-09-28 17:07:58 +09:00
bitcoind.zmqpubrawblock=tcp://bitcoind:28332
bitcoind.zmqpubrawtx=tcp://bitcoind:28333
2018-07-10 19:33:54 +09:00
externalip=customer_lnd:10009
bitcoin.defaultchanconfs=1
2018-07-10 19:33:54 +09:00
no-macaroons=1
debuglevel=debug
2018-08-28 18:13:28 +09:00
trickledelay=1000
ports:
- "35532:8080"
expose:
- "8080"
- "10009"
volumes:
- "customer_lnd_datadir:/root/.lnd"
2018-07-10 19:33:54 +09:00
- "bitcoin_datadir:/deps/.bitcoin"
links:
- bitcoind
tor:
restart: unless-stopped
image: btcpayserver/tor:0.4.1.5
container_name: tor
environment:
TOR_PASSWORD: btcpayserver
ports:
- "9050:9050" # SOCKS
- "9051:9051" # Tor Control
volumes:
- "tor_datadir:/home/tor/.tor"
- "torrcdir:/usr/local/etc/tor"
- "tor_servicesdir:/var/lib/tor/hidden_services"
volumes:
sshd_datadir:
bitcoin_datadir:
2019-12-24 08:20:44 +01:00
elementsd_liquid_datadir:
customer_lightningd_datadir:
merchant_lightningd_datadir:
lightning_charge_datadir:
customer_lnd_datadir:
merchant_lnd_datadir:
tor_datadir:
torrcdir:
tor_servicesdir: