version: "3" services: joinmarket: container_name: jm_regtest_joinmarket build: context: ./dockerfile-deps/joinmarket/latest dockerfile: Dockerfile restart: unless-stopped environment: READY_FILE: /root/.nbxplorer/btc_fully_synched ENSURE_WALLET: 1 jm_rpc_wallet_file: jm_primary jm_max_cj_fee_abs: 42000000 # 0.42 btc jm_max_cj_fee_rel: 0.1337 # 13.37% jm_minimum_makers: 1 jm_taker_utxo_age: 1 jm_taker_utxo_retries: 10 jm_tx_broadcast: self jm_blockchain_source: regtest jm_network: testnet jm_rpc_host: bitcoind jm_rpc_port: 43782 jm_rpc_user: joinmarket jm_rpc_password: joinmarket expose: - 8080 # payjoin server - 62601 # obwatch - 27183 # joinmarketd - 28183 # jmwalletd api - 28283 # jmwalletd websocket ports: - "62601:62601" - "28183:28183" - "28283:28283" volumes: - "joinmarket_datadir:/root/.joinmarket" - "nbxplorer_datadir:/root/.nbxplorer" depends_on: - bitcoind - nbxplorer - irc joinmarket2: container_name: jm_regtest_joinmarket2 build: context: ./dockerfile-deps/joinmarket/webui-standalone dockerfile: Dockerfile restart: unless-stopped environment: READY_FILE: /root/.nbxplorer/btc_fully_synched ENSURE_WALLET: 1 APP_USER: joinmarket APP_PASSWORD: joinmarket jm_rpc_wallet_file: jm_secondary jm_max_cj_fee_abs: 42000000 # 0.42 btc jm_max_cj_fee_rel: 0.1337 # 13.37% jm_minimum_makers: 1 jm_taker_utxo_age: 1 jm_taker_utxo_retries: 10 jm_tx_broadcast: self jm_blockchain_source: regtest jm_network: testnet jm_rpc_host: bitcoind jm_rpc_port: 43782 jm_rpc_user: joinmarket2 jm_rpc_password: joinmarket2 # showcase exemplary tor environment vars jm_socks5: "false" # will _not_ connect to local irc over tor jm_socks5_host: tor jm_socks5_port: 9050 jm_tor_control_host: tor jm_tor_control_port: 9051 jm_onion_socks5_host: tor jm_onion_socks5_port: 9050 expose: - 80 # nginx - 8080 # payjoin server - 62601 # obwatch - 27183 # joinmarketd - 28183 # jmwalletd api - 28283 # jmwalletd websocket ports: - "29183:28183" - "29283:28283" - "29080:80" volumes: - "joinmarket2_datadir:/root/.joinmarket" - "nbxplorer_datadir:/root/.nbxplorer" - "tor_datadir:/home/tor/.tor" depends_on: - bitcoind - irc - nbxplorer - tor irc: container_name: jm_regtest_irc restart: unless-stopped image: ghcr.io/ergochat/ergo:stable expose: - 6667 volumes: - "irc_datadir:/ircd" bitcoind: container_name: jm_regtest_bitcoind restart: unless-stopped image: btcpayserver/bitcoin:22.0-1 environment: HIDDENSERVICE_NAME: BTC-P2P,BTC-RPC BTC-P2P_HIDDENSERVICE_VIRTUAL_PORT: 8333 BTC-P2P_HIDDENSERVICE_PORT: 39388 BTC-RPC_HIDDENSERVICE_VIRTUAL_PORT: 8332 BTC-RPC_HIDDENSERVICE_PORT: 43782 BITCOIN_NETWORK: ${NBITCOIN_NETWORK:-regtest} BITCOIN_WALLETDIR: "/walletdata" BITCOIN_EXTRA_ARGS: | rpcport=43782 rpcbind=0.0.0.0 rpcallowip=0.0.0.0/0 port=39388 whitelist=0.0.0.0/0 maxmempool=500 debug=rpc logips=0 networkactive=1 dnsseed=0 uacomment=jmdevbitcoindregtest printpriority=1 logtimemicros=1 zmqpubrawblock=tcp://0.0.0.0:28332 zmqpubrawtx=tcp://0.0.0.0:28333 zmqpubhashblock=tcp://0.0.0.0:28334 # tor dns=1 onion=tor:9050 torcontrol=tor:9051 # do not automatically create tor hidden service listenonion=0 # rpcauth (user=regtest; password=regtest) rpcauth=regtest:20b58677979ad9d3cf4b78b1d6e85e44$$2ec3e1e1c00c7c58d7aff1d4bf96e4a984ea1af5d676d862fd0faa857a1d4d7c # rpcauth (user=joinmarket; password=joinmarket) rpcauth=joinmarket:260b4c5b1fbd09d75a4aabf90226282f$$76e170af088d43a588992cdd5e7bae2242b03c33aa672cccfd1fb75f9281299e # rpcauth (user=joinmarket2; password=joinmarket2) rpcauth=joinmarket2:521bf9f4468529d49c0a41f9c9f8fdbf$$63ae94a73d2aa45e7ee756945d9b1e469f9873ce026b815d676a748f777e0b8d # rpcauth (user=nbxplorer; password=nbxplorer) rpcauth=nbxplorer:8953867752ed07ca27bc0b1d7a10fa99$$e46553870d4a2c59753bfe453797be070ab4dbd5fdfc2fecdb7862ea0ae6b127 expose: - 43782 # RPC - 39388 # P2P - 28332 # ZMQ - 28333 # ZMQ - 28334 # ZMQ volumes: - "bitcoin_datadir:/data" - "bitcoin_wallet_datadir:/walletdata" - "tor_datadir:/home/tor/.tor" depends_on: - tor nbxplorer: container_name: jm_regtest_nbxplorer restart: unless-stopped image: nicolasdorier/nbxplorer:2.2.18 environment: NBXPLORER_NOAUTH: 1 NBXPLORER_CHAINS: "btc" NBXPLORER_BTCRPCURL: http://bitcoind:43782/ NBXPLORER_BTCRPCUSER: nbxplorer NBXPLORER_BTCRPCPASSWORD: nbxplorer NBXPLORER_BTCNODEENDPOINT: bitcoind:39388 NBXPLORER_NETWORK: ${NBITCOIN_NETWORK:-regtest} NBXPLORER_BIND: 0.0.0.0:32838 NBXPLORER_TRIMEVENTS: 10000 NBXPLORER_SIGNALFILESDIR: /datadir expose: - 32838 volumes: - "nbxplorer_datadir:/datadir" - "bitcoin_datadir:/root/.bitcoin" depends_on: - bitcoind - tor tor: container_name: jm_regtest_tor restart: unless-stopped image: btcpayserver/tor:0.4.6.5 environment: TOR_PASSWORD: changeme TOR_ADDITIONAL_CONFIG: /usr/local/etc/tor/torrc-2 TOR_EXTRA_ARGS: | CookieAuthentication 1 expose: - 9050 # SOCKS - 9051 # Tor Control volumes: - "tor_datadir:/home/tor/.tor" - "tor_torrcdir:/usr/local/etc/tor" - "tor_servicesdir:/var/lib/tor/hidden_services" nginx: container_name: jm_regtest_nginx_test_basepath image: nginx volumes: - ./dockerfile-deps/nginx:/etc/nginx/templates ports: - "8000:80" extra_hosts: - "host.docker.internal:host-gateway" volumes: bitcoin_datadir: bitcoin_wallet_datadir: nbxplorer_datadir: joinmarket_datadir: joinmarket2_datadir: irc_datadir: tor_datadir: tor_torrcdir: tor_servicesdir: