mirror of
https://github.com/joinmarket-webui/jam.git
synced 2026-08-13 12:33:26 +02:00
* dev: update regtest config for JM v0.9.6 in dev setup * dev: use jam's 'default' cj_max fee settings in dev setup * dev: update secondary dev container config * dev: start directory node in dev setup dev: start instance 1 with access local directory node dev: connect primary and secondary instances to local directory node dev: ability to specify jm branch in primary container dev: remove symlink for tor in directory-node as #1271 is fixed upstream dev: inject hs dir in directory-node instance dev: add script to create onion addresses for regtest setup dev: add prepare-setup.sh script to write .env.generated file dev: cleanup directory-node setup and scripts * cleanup: clarify hs directory handling * cleanup: fix typos and remove unneeded commands in prepare setup script * dev: revert changes to regtest fee settings * dev: use example env file for all other commands than 'up' * dev: fix directory node setup on restarts * dev: adapt permissions of hs directory in regtest directory node * dev: ability to follow logs of directory node via npm script * fix: directory node scripts compatibility * Update docker/regtest/dockerfile-deps/joinmarket/directory_node/README.md Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com> * Update docker/regtest/.gitignore Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com> * Update docker/regtest/dockerfile-deps/joinmarket/directory_node/README.md Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com> * review: fix newlines and typos Co-authored-by: Daniel <10026790+dnlggr@users.noreply.github.com>
240 lines
7.1 KiB
YAML
240 lines
7.1 KiB
YAML
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_minimum_makers: 1
|
|
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
|
|
jm_directory_nodes: ${JM_DIRECTORY_NODES:?You must set the onion address generated in prepare step to your .env file}
|
|
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:
|
|
- 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
|
|
- tor
|
|
- 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_minimum_makers: 1
|
|
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
|
|
jm_directory_nodes: ${JM_DIRECTORY_NODES:?You must set the onion address generated in prepare step to your .env file}
|
|
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
|
|
- nbxplorer
|
|
- tor
|
|
- irc
|
|
|
|
joinmarket_directory_node:
|
|
container_name: jm_regtest_joinmarket_directory_node
|
|
build:
|
|
context: ./dockerfile-deps/joinmarket/directory_node
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
environment:
|
|
jm_hidden_service_dir: \/root\/.joinmarket\/hidden_service_dir
|
|
jm_directory_nodes: ${JM_DIRECTORY_NODES:?You must set the onion address generated in prepare step to your .env file}
|
|
jm_blockchain_source: regtest
|
|
jm_network: testnet
|
|
volumes:
|
|
- "joinmarket_directory_node_datadir:/root/.joinmarket"
|
|
- "./out/hidden_service_dir:/root/.joinmarket/hidden_service_dir:z"
|
|
|
|
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:
|
|
joinmarket_directory_node_datadir:
|
|
irc_datadir:
|
|
tor_datadir:
|
|
tor_torrcdir:
|
|
tor_servicesdir:
|