jam/docker/regtest/docker-compose.yml

196 lines
5.7 KiB
YAML
Raw Permalink Normal View History

services:
joinmarket:
container_name: jm_regtest_joinmarket
extends:
file: docker-compose-common.yml
service: joinmarket_native
environment:
READY_FILE: /root/.regtest-initializer/btc_fully_synched
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
jm_rpc_wallet_file: jm_primary
jm_rpc_user: joinmarket
jm_rpc_password: joinmarket
ports:
- "62601:62601"
- "28183:28183"
- "28283:28283"
volumes:
- "joinmarket_datadir:/root/.joinmarket"
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
- bitcoind_regtest_initializer
- irc
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
joinmarket2:
container_name: jm_regtest_joinmarket2
extends:
file: docker-compose-common.yml
service: joinmarket_jam_standalone
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
environment:
APP_USER: joinmarket
APP_PASSWORD: joinmarket
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
jm_rpc_wallet_file: jm_secondary
jm_rpc_user: joinmarket2
jm_rpc_password: joinmarket2
ports:
- "29080:80"
- "29183:28183" # exposed for "init setup" routine
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
volumes:
- "joinmarket2_datadir:/root/.joinmarket"
depends_on:
- bitcoind
dev: directory node setup for regtest (#259) * 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>
2022-05-18 15:42:59 +02:00
- irc
joinmarket3:
container_name: jm_regtest_joinmarket3
extends:
file: docker-compose-common.yml
service: joinmarket_jam_standalone
environment:
READY_FILE: /root/.regtest-initializer/btc_fully_synched
WAIT_FOR_BITCOIND: "false"
jm_rpc_wallet_file: jm_tertiary
jm_rpc_user: joinmarket3
jm_rpc_password: joinmarket3
ports:
- "30080:80"
- "30183:28183" # exposed for "init setup" routine
volumes:
- "joinmarket3_datadir:/root/.joinmarket"
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
- bitcoind_regtest_initializer
- irc
dev: directory node setup for regtest (#259) * 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>
2022-05-18 15:42:59 +02:00
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:v2.10.0
expose:
- 6667
volumes:
- "irc_datadir:/ircd"
bitcoind:
container_name: jm_regtest_bitcoind
restart: unless-stopped
image: polarlightning/bitcoind:27.0
command:
# rpcauth (user=regtest; password=regtest)
# rpcauth (user=joinmarket; password=joinmarket)
# rpcauth (user=joinmarket2; password=joinmarket2)
# rpcauth (user=joinmarket3; password=joinmarket3)
-rpcauth=regtest:20b58677979ad9d3cf4b78b1d6e85e44$$2ec3e1e1c00c7c58d7aff1d4bf96e4a984ea1af5d676d862fd0faa857a1d4d7c
-rpcauth=joinmarket:260b4c5b1fbd09d75a4aabf90226282f$$76e170af088d43a588992cdd5e7bae2242b03c33aa672cccfd1fb75f9281299e
-rpcauth=joinmarket2:521bf9f4468529d49c0a41f9c9f8fdbf$$63ae94a73d2aa45e7ee756945d9b1e469f9873ce026b815d676a748f777e0b8d
-rpcauth=joinmarket3:85d4beaa74540c3b08f4fef50d74a59e$$3033c779ea4bfd02a1f3403bc4d012f3e6d19b355f74c5e8de1d3439979d5e4b
-datadir=/home/bitcoin/data
-walletdir=/home/bitcoin/walletdata
-regtest=1
-server=1
-port=39388
-rpcport=43782
-rpcbind=0.0.0.0
-rpcallowip=0.0.0.0/0
-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
-dns=0
-listenonion=0
-deprecatedrpc=create_bdb
expose:
- 39388 # P2P
- 43782 # RPC
- 28332 # ZMQ
- 28333 # ZMQ
- 28334 # ZMQ
ports:
- "17782:43782"
volumes:
- "bitcoin_datadir:/home/bitcoin/data"
- "bitcoin_wallet_datadir:/home/bitcoin/walletdata"
bitcoind_regtest_initializer:
container_name: jm_regtest_bitcoind_initializer
build:
context: ./dockerfile-deps/bitcoin/regtest-initializer
dockerfile: Dockerfile
restart: on-failure
environment:
READY_FILE: /root/.regtest-initializer/btc_fully_synched
RPC_HOST: bitcoind
RPC_PORT: 43782
RPC_USER: regtest
RPC_PASSWORD: regtest
volumes:
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
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"
explorer:
container_name: jm_regtest_explorer
restart: unless-stopped
image: getumbrel/btc-rpc-explorer:v3.4.0
environment:
BTCEXP_HOST: 0.0.0.0
BTCEXP_PORT: 3002
BTCEXP_BITCOIND_HOST: bitcoind
BTCEXP_BITCOIND_PORT: 43782
BTCEXP_BITCOIND_USER: regtest
BTCEXP_BITCOIND_PASS: regtest
2023-10-31 10:09:47 +01:00
BTCEXP_BASIC_AUTH_PASSWORD: joinmarket
BTCEXP_PRIVACY_MODE: 'true'
BTCEXP_NO_RATES: 'true'
BTCEXP_RPC_ALLOWALL: 'true'
ports:
- "3002:3002"
depends_on:
- bitcoind
volumes:
bitcoin_datadir:
bitcoin_wallet_datadir:
initializer_datadir:
joinmarket_datadir:
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
joinmarket2_datadir:
joinmarket3_datadir:
dev: directory node setup for regtest (#259) * 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>
2022-05-18 15:42:59 +02:00
joinmarket_directory_node_datadir:
Enable coinjoin on regtest env (#6) * fix: prevent 'config value not set' on cj in regtest env 'max_cj_fee' config values must be present when invoking a coinjoin via the api. the default config for the regtest env did not include these values before, hence they could not be overridden in docker-compose setup file. * dev: switch irc server from miniirc to ergochat * dev: start second joinmarket container In order to successfully perform a CoinJoin, there must be at least one maker. This commit adds a second JoinMarket container with jmwalletd accessible on port 29183. * dev: add helper script to mine a block * dev: add container switch to regtest-control script * dev: invoke mine-block in regtest-control script * dev: add flag '--unmatured' to regtest-control script Sometimes it is desired that block rewards do not reach maturity immediately. This is convenient if you want to supply several wallets with coins, but do not want to generate many blocks all the time. * dev: add helper script to start maker service This script helps in providing both JoinMarket containers a wallet with spendable coins and starting the Maker Service in the secondary container. Its main goal is to make CoinJoin transactions possible in the regtest environment. * dev: move common functions to script common.sh * fix: use correct irc host in docker setup * dev: use ergochat image from ghcr.io * dev: dont lock secondary wallet in setup script normally the wallet should be locked, but it seems this leads to the maker service responding very slowly which causes failing coinjoins. as the secondary instance is never interacted with directly, we can refrain from unlocking the wallet for now. * docs: add debug log command to docker readme * cleanup: rename script 'regtest-control' to 'fund-wallet' * dev: upgrade joinmarket from v0.9.3 to use current master branch * review: add more descriptive comments and cleanup files
2022-01-22 17:09:14 +01:00
irc_datadir: