142 lines
4.5 KiB
YAML
142 lines
4.5 KiB
YAML
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
|
|
args:
|
|
CONFIGURATION_NAME: Release
|
|
environment:
|
|
TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3
|
|
TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/
|
|
TESTS_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=btcpayserver
|
|
TESTS_EXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer
|
|
TESTS_HOSTNAME: tests
|
|
TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-"false"}
|
|
TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none}
|
|
TESTS_INCONTAINER: "true"
|
|
TESTS_SSHCONNECTION: "root@sshd:22"
|
|
TESTS_SSHPASSWORD: ""
|
|
TESTS_SSHKEYFILE: ""
|
|
TESTS_SOCKSENDPOINT: "tor:9050"
|
|
expose:
|
|
- "80"
|
|
depends_on:
|
|
- dev
|
|
extra_hosts:
|
|
- "tests:127.0.0.1"
|
|
networks:
|
|
default:
|
|
custom:
|
|
ipv4_address: 172.23.0.18
|
|
|
|
# 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" ]
|
|
depends_on:
|
|
- nbxplorer
|
|
- postgres
|
|
- monero_wallet
|
|
|
|
nbxplorer:
|
|
image: nicolasdorier/nbxplorer:2.5.16
|
|
restart: unless-stopped
|
|
ports:
|
|
- "32838:32838"
|
|
expose:
|
|
- "32838"
|
|
environment:
|
|
NBXPLORER_NETWORK: regtest
|
|
NBXPLORER_CHAINS: "btc"
|
|
NBXPLORER_BTCRPCURL: http://bitcoind:43782/
|
|
NBXPLORER_BTCNODEENDPOINT: bitcoind:39388
|
|
NBXPLORER_BTCRPCUSER: ceiwHEbqWI83
|
|
NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3
|
|
NBXPLORER_BIND: 0.0.0.0:32838
|
|
NBXPLORER_MINGAPSIZE: 5
|
|
NBXPLORER_MAXGAPSIZE: 10
|
|
NBXPLORER_VERBOSE: 1
|
|
NBXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer
|
|
NBXPLORER_EXPOSERPC: 1
|
|
NBXPLORER_NOAUTH: 1
|
|
depends_on:
|
|
- bitcoind
|
|
|
|
bitcoind:
|
|
restart: unless-stopped
|
|
image: btcpayserver/bitcoin:26.0
|
|
environment:
|
|
BITCOIN_NETWORK: regtest
|
|
BITCOIN_WALLETDIR: "/data/wallets"
|
|
BITCOIN_EXTRA_ARGS: |-
|
|
rpcuser=ceiwHEbqWI83
|
|
rpcpassword=DwubwWsoo3
|
|
rpcport=43782
|
|
rpcbind=0.0.0.0:43782
|
|
rpcallowip=0.0.0.0/0
|
|
port=39388
|
|
whitelist=0.0.0.0/0
|
|
zmqpubrawblock=tcp://0.0.0.0:28332
|
|
zmqpubrawtx=tcp://0.0.0.0:28333
|
|
deprecatedrpc=signrawtransaction
|
|
fallbackfee=0.0002
|
|
ports:
|
|
- "43782:43782"
|
|
- "39388:39388"
|
|
expose:
|
|
- "43782" # RPC
|
|
- "39388" # P2P
|
|
- "28332" # ZMQ
|
|
- "28333" # ZMQ
|
|
volumes:
|
|
- "bitcoin_datadir:/data"
|
|
|
|
monerod:
|
|
image: btcpayserver/monero:0.18.3.3
|
|
restart: unless-stopped
|
|
container_name: xmr_monerod
|
|
entrypoint: monerod --fixed-difficulty 200 --rpc-bind-ip=0.0.0.0 --confirm-external-bind --rpc-bind-port=18081 --block-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/block?cryptoCode=xmr&hash=%s" --testnet --no-igd --hide-my-port --offline --non-interactive
|
|
volumes:
|
|
- "monero_data:/home/monero/.bitmonero"
|
|
ports:
|
|
- "18081:18081"
|
|
|
|
monero_wallet:
|
|
image: btcpayserver/monero:0.18.3.3
|
|
restart: unless-stopped
|
|
container_name: xmr_wallet_rpc
|
|
entrypoint: monero-wallet-rpc --testnet --rpc-bind-ip=0.0.0.0 --disable-rpc-login --confirm-external-bind --rpc-bind-port=18082 --non-interactive --trusted-daemon --daemon-address=monerod:18081 --wallet-dir=/wallet --tx-notify="/bin/sh ./scripts/notifier.sh -k -X GET https://host.docker.internal:14142/monerolikedaemoncallback/tx?cryptoCode=xmr&hash=%s"
|
|
ports:
|
|
- "18082:18082"
|
|
volumes:
|
|
- "./monero_wallet:/wallet"
|
|
depends_on:
|
|
- monerod
|
|
|
|
postgres:
|
|
image: postgres:13.13
|
|
environment:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
ports:
|
|
- "39372:5432"
|
|
expose:
|
|
- "5432"
|
|
|
|
volumes:
|
|
bitcoin_datadir:
|
|
monero_data:
|
|
|
|
networks:
|
|
default:
|
|
driver: bridge
|
|
custom:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.23.0.0/16
|