services: joinmarket_native: build: context: ./dockerfile-deps/joinmarket/latest dockerfile: Dockerfile restart: unless-stopped environment: ENSURE_WALLET: 'true' REMOVE_LOCK_FILES: 'true' jm_blockchain_source: regtest jm_network: testnet jm_rpc_host: bitcoind jm_rpc_port: 43782 jm_directory_nodes: ${JM_ALL_DIRECTORY_NODES:?You must set the directory node addresses in generated env file} jm_minimum_makers: 1 # necessary to do coinjoins with this regtest setup; default is 4 jm_taker_utxo_age: 1 # faster testing of scheduler runs; default is 5 jm_maker_timeout_sec: 30 # easier testing of maker timeouts on regtest (and "Stall Monitor" retries); default is 60 expose: - 62601 # obwatch - 27183 # joinmarketd daemon - 28183 # jmwalletd api - 28283 # jmwalletd websocket healthcheck: test: ['CMD', 'supervisorctl', 'status'] interval: 10s timeout: 10s retries: 20 start_period: 60s start_interval: 3s joinmarket_jam_standalone: build: context: ./dockerfile-deps/joinmarket/webui-standalone dockerfile: Dockerfile restart: unless-stopped environment: ENSURE_WALLET: 'true' REMOVE_LOCK_FILES: 'true' jm_blockchain_source: regtest jm_network: testnet jm_rpc_host: bitcoind jm_rpc_port: 43782 jm_directory_nodes: ${JM_ALL_DIRECTORY_NODES:?You must set the directory node addresses in generated env file} jm_minimum_makers: 1 # necessary to do coinjoins with this regtest setup; default is 4 jm_taker_utxo_age: 1 # faster testing of scheduler runs; default is 5 expose: - 80 # nginx - 28183 # jmwalletd api healthcheck: test: ['CMD', 'dinitctl', 'status', 'jmwalletd'] interval: 10s timeout: 10s retries: 20 start_period: 60s start_interval: 3s joinmarket_jam_standalone_ng: build: context: ./dockerfile-deps/joinmarket/webui-standalone-ng dockerfile: Dockerfile restart: unless-stopped environment: JMWALLETD_HOST: 0.0.0.0 BITCOIN__BACKEND_TYPE: descriptor_wallet BITCOIN__RPC_URL: http://bitcoind:43782 BITCOIN__RPC_USER: regtest BITCOIN__RPC_PASSWORD: regtest LOGGING__LEVEL: DEBUG NETWORK_CONFIG__NETWORK: testnet NETWORK_CONFIG__BITCOIN_NETWORK: regtest NETWORK_CONFIG__DIRECTORY_SERVERS: ${JM_ALL_DIRECTORY_NODES:?You must set the directory node addresses in generated env file} expose: - 80 # nginx - 28183 # jmwalletd api joinmarket_ng_native: image: ghcr.io/joinmarket-ng/joinmarket-ng/jmwalletd:main restart: unless-stopped environment: JOINMARKET_DATA_DIR: /root/.joinmarket-ng JMWALLETD_HOST: 0.0.0.0 BITCOIN__BACKEND_TYPE: descriptor_wallet BITCOIN__RPC_URL: http://bitcoind:43782 BITCOIN__RPC_USER: regtest BITCOIN__RPC_PASSWORD: regtest NETWORK_CONFIG__NETWORK: testnet NETWORK_CONFIG__BITCOIN_NETWORK: regtest NETWORK_CONFIG__DIRECTORY_SERVERS: ${JM_ALL_DIRECTORY_NODES:?You must set the directory node addresses in generated env file} OBWATCH_URL: http://joinmarket_ng_orderbook_watcher:8000 TOR__SOCKS_HOST: tor TOR__SOCKS_PORT: 9050 TOR__CONTROL_HOST: tor TOR__CONTROL_PORT: 9051 TOR__COOKIE_PATH: /var/lib/tor/control_auth_cookie TAKER__MINIMUM_MAKERS: 2 # necessary to do coinjoins with this regtest setup TAKER__MAKER_TIMEOUT_SEC: 30 # easier testing of maker timeouts on regtest expose: - 8000 # obwatch - 28183 # jmwalletd api healthcheck: test: [ 'CMD', 'python', '-c', "import socket,ssl,sys; s=socket.socket(); s.settimeout(5);\ntry:\n c=ssl.create_default_context(); c.check_hostname=False; c.verify_mode=ssl.CERT_NONE; c.wrap_socket(s, server_hostname='localhost').connect(('127.0.0.1',28183)); sys.exit(0)\nexcept Exception:\n pass\ntry:\n s=socket.socket(); s.settimeout(5); s.connect(('127.0.0.1',28183)); s.close(); sys.exit(0)\nexcept Exception:\n sys.exit(1)", ] interval: 10s timeout: 10s retries: 20 start_period: 60s start_interval: 3s joinmarket_ng_peer: image: ghcr.io/joinmarket-ng/joinmarket-ng/jmwalletd:main restart: unless-stopped environment: JOINMARKET_DATA_DIR: /root/.joinmarket-ng JMWALLETD_HOST: 0.0.0.0 BITCOIN__BACKEND_TYPE: descriptor_wallet BITCOIN__RPC_URL: http://bitcoind:43782 BITCOIN__RPC_USER: regtest BITCOIN__RPC_PASSWORD: regtest NETWORK_CONFIG__NETWORK: testnet NETWORK_CONFIG__BITCOIN_NETWORK: regtest NETWORK_CONFIG__DIRECTORY_SERVERS: ${JM_ALL_DIRECTORY_NODES:?You must set the directory node addresses in generated env file} OBWATCH_URL: http://joinmarket_ng_orderbook_watcher:8000 TOR__SOCKS_HOST: tor TOR__SOCKS_PORT: 9050 TOR__CONTROL_HOST: tor TOR__CONTROL_PORT: 9051 TOR__COOKIE_PATH: /var/lib/tor/control_auth_cookie TAKER__MINIMUM_MAKERS: 2 # necessary to do coinjoins with this regtest setup expose: - 8000 # obwatch - 28183 # jmwalletd api healthcheck: test: [ 'CMD', 'python', '-c', "import socket,ssl,sys; s=socket.socket(); s.settimeout(5);\ntry:\n c=ssl.create_default_context(); c.check_hostname=False; c.verify_mode=ssl.CERT_NONE; c.wrap_socket(s, server_hostname='localhost').connect(('127.0.0.1',28183)); sys.exit(0)\nexcept Exception:\n pass\ntry:\n s=socket.socket(); s.settimeout(5); s.connect(('127.0.0.1',28183)); s.close(); sys.exit(0)\nexcept Exception:\n sys.exit(1)", ] interval: 10s timeout: 10s retries: 20 start_period: 60s start_interval: 3s