135 lines
4.2 KiB
YAML
135 lines
4.2 KiB
YAML
services:
|
|
|
|
tests:
|
|
build:
|
|
context: ..
|
|
dockerfile: BTCPayServer.Plugins.IntegrationTests/Dockerfile
|
|
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_INCONTAINER: "true"
|
|
BTCPAY_XMR_DAEMON_URI: http://monerod:18081
|
|
BTCPAY_XMR_WALLET_DAEMON_URI: http://xmr_wallet:18082
|
|
BTCPAY_XMR_WALLET_DAEMON_WALLETDIR: /wallet
|
|
depends_on:
|
|
- nbxplorer
|
|
- postgres
|
|
- xmr_wallet
|
|
extra_hosts:
|
|
- "tests:127.0.0.1"
|
|
volumes:
|
|
- ../coverage:/coverage
|
|
|
|
# The dev container is not used, it is just handy to run `docker-compose up dev` to start all services
|
|
dev:
|
|
image: alpine:3.21
|
|
container_name: dev
|
|
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
|
|
- xmr_wallet
|
|
|
|
nbxplorer:
|
|
image: nicolasdorier/nbxplorer:2.5.25
|
|
container_name: nbxplorer
|
|
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:29.0
|
|
container_name: bitcoind
|
|
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.4.2
|
|
restart: unless-stopped
|
|
container_name: monerod
|
|
command: monerod --fixed-difficulty 1 --log-level=2 --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" --regtest --no-igd --hide-my-port --offline --non-interactive
|
|
volumes:
|
|
- xmr_data:/data
|
|
ports:
|
|
- "18081:18081"
|
|
|
|
xmr_wallet:
|
|
image: btcpayserver/monero:0.18.4.2
|
|
restart: unless-stopped
|
|
container_name: xmr_wallet
|
|
command: monero-wallet-rpc --log-level 2 --allow-mismatched-daemon-version --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:
|
|
- xmr_wallet:/wallet
|
|
depends_on:
|
|
- monerod
|
|
|
|
postgres:
|
|
image: postgres:17.4
|
|
container_name: postgres
|
|
environment:
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
ports:
|
|
- "39372:5432"
|
|
expose:
|
|
- "5432"
|
|
|
|
volumes:
|
|
bitcoin_datadir:
|
|
xmr_data:
|
|
xmr_wallet:
|
|
|
|
networks:
|
|
default:
|
|
driver: bridge
|
|
custom:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.23.0.0/16
|