chore: update regtest deps (#882)

* dev(regtest): update ergochat to v2.15.0

* dev(regtest): add new config param wallet_caching_disabled

* dev(regtest): update bitcoin core to v28

* dev(regtest): detach and wait for docker services

* dev(regtest): pin nginx image version

* dev(regtest): add healthcheck to bitcoind

* dev(regtest): add healtcheck to secondary jm containers

* dev(regtest): add healthcheck to primary jm containers

* dev(regtest): add healthcheck to nginx

* dev(regtest): update vanitytorgen repo ref
This commit is contained in:
Thebora Kompanioni 2025-05-02 15:19:31 +02:00 committed by GitHub
parent c10b47ae51
commit 5491e88b53
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 84 additions and 16 deletions

View file

@ -21,6 +21,13 @@ services:
- 62601 # obwatch
- 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:
@ -40,3 +47,10 @@ services:
expose:
- 80 # nginx
- 28183 # jmwalletd api
healthcheck:
test: [ "CMD", "dinitctl", "status", "jmwalletd" ]
interval: 10s
timeout: 10s
retries: 20
start_period: 60s
start_interval: 3s

View file

@ -19,9 +19,12 @@ services:
- "joinmarket_datadir:/root/.joinmarket"
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
- bitcoind_regtest_initializer
- irc
bitcoind:
condition: service_healthy
bitcoind_regtest_initializer:
condition: service_started
irc:
condition: service_started
joinmarket2:
container_name: jm_regtest_joinmarket2
@ -40,8 +43,12 @@ services:
volumes:
- "joinmarket2_datadir:/root/.joinmarket"
depends_on:
- bitcoind
- irc
bitcoind:
condition: service_healthy
bitcoind_regtest_initializer:
condition: service_started
irc:
condition: service_started
joinmarket3:
container_name: jm_regtest_joinmarket3
@ -61,9 +68,12 @@ services:
- "joinmarket3_datadir:/root/.joinmarket"
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
- bitcoind_regtest_initializer
- irc
bitcoind:
condition: service_healthy
bitcoind_regtest_initializer:
condition: service_started
irc:
condition: service_started
joinmarket_directory_node:
container_name: jm_regtest_joinmarket_directory_node
@ -79,6 +89,13 @@ services:
volumes:
- "joinmarket_directory_node_datadir:/root/.joinmarket"
- "./out/hidden_service_dir:/root/.joinmarket/hidden_service_dir:z"
healthcheck:
test: ["CMD", "supervisorctl", "status"]
interval: 10s
timeout: 10s
retries: 20
start_period: 60s
start_interval: 3s
irc:
container_name: jm_regtest_irc
@ -92,7 +109,7 @@ services:
bitcoind:
container_name: jm_regtest_bitcoind
restart: unless-stopped
image: polarlightning/bitcoind:27.0@sha256:7ac359cacd1c667fae321fe049d3d860eb85f1f14aff805e96246c5dc70f2f13
image: polarlightning/bitcoind:28.0@sha256:ff435d758c89f01823924e057d5d5e4206d350ae69dff5e0dc1bbc9c6a36d010
command:
# rpcauth (user=regtest; password=regtest)
# rpcauth (user=joinmarket; password=joinmarket)
@ -136,6 +153,13 @@ services:
volumes:
- "bitcoin_datadir:/home/bitcoin/data"
- "bitcoin_wallet_datadir:/home/bitcoin/walletdata"
healthcheck:
test: [ "CMD", "/entrypoint.sh", "bitcoin-cli", "-chain=regtest", "-rpcport=43782", "-datadir=/home/bitcoin/data", "-getinfo" ]
interval: 10s
timeout: 10s
retries: 20
start_period: 60s
start_interval: 3s
bitcoind_regtest_initializer:
container_name: jm_regtest_bitcoind_initializer
@ -152,17 +176,25 @@ services:
volumes:
- "initializer_datadir:/root/.regtest-initializer"
depends_on:
- bitcoind
bitcoind:
condition: service_healthy
nginx:
container_name: jm_regtest_nginx_test_basepath
image: nginx
image: nginx:1.27.4-alpine3.21@sha256:4ff102c5d78d254a6f0da062b3cf39eaf07f01eec0927fd21e219d0af8bc0591
volumes:
- ./dockerfile-deps/nginx:/etc/nginx/templates
ports:
- "8000:80"
extra_hosts:
- "host.docker.internal:host-gateway"
healthcheck:
test: ["CMD-SHELL", "wget --output-document /dev/null http://127.0.0.1:80/health || exit 1"]
interval: 10s
timeout: 10s
retries: 20
start_period: 60s
start_interval: 3s
explorer:
container_name: jm_regtest_explorer
@ -182,7 +214,8 @@ services:
ports:
- "3002:3002"
depends_on:
- bitcoind
bitcoind:
condition: service_healthy
volumes:
bitcoin_datadir:

View file

@ -363,6 +363,11 @@ size_factor = 0.1
gaplimit = 6
# Disable the caching of addresses and scripts when
# syncing the wallet. You DO NOT need to set this to 'true',
# unless there is an issue of file corruption or a code bug.
wallet_caching_disabled = false
[SNICKER]
# Any other value than 'true' will be treated as False,
# and no SNICKER actions will be enabled in that case:

View file

@ -377,6 +377,11 @@ size_factor = 0.1
gaplimit = 6
# Disable the caching of addresses and scripts when
# syncing the wallet. You DO NOT need to set this to 'true',
# unless there is an issue of file corruption or a code bug.
wallet_caching_disabled = false
[SNICKER]
# Any other value than 'true' will be treated as False,
# and no SNICKER actions will be enabled in that case:

View file

@ -377,6 +377,11 @@ size_factor = 0.1
gaplimit = 6
# Disable the caching of addresses and scripts when
# syncing the wallet. You DO NOT need to set this to 'true',
# unless there is an issue of file corruption or a code bug.
wallet_caching_disabled = false
[SNICKER]
# Any other value than 'true' will be treated as False,
# and no SNICKER actions will be enabled in that case:

View file

@ -1,6 +1,6 @@
# To test the reverse proxy setup, run the dev server using:
#
# PUBLIC_URL=/joinmarket npm start
# PUBLIC_URL=/joinmarket npm run dev
#
# And visit http://localhost:8000/joinmarket/extrapath/
# Note: Keep the trailing slash!
@ -29,4 +29,9 @@ server {
location /joinmarket {
proxy_pass http://host.docker.internal:3000/joinmarket;
}
location = /health {
default_type application/json;
return 200 '{ "status": "UP" }';
}
}

View file

@ -31,7 +31,7 @@ VANITYTORGEN_REPO_DIR="${WORKDIR}/vanitytorgen"
# TODO: fork of "https://github.com/Kexkey/vanitytorgen" - should be forked by jam org?
VANITYTORGEN_REPO_URL="https://github.com/theborakompanioni/vanitytorgen"
VANITYTORGEN_REPO_BRANCH="main"
VANITYTORGEN_REPO_REF="85fa0c36208975f4e22bf10fb77b3d9bafb51979"
VANITYTORGEN_REPO_REF="f497346ab540153f06edabe65df37ae5536a2d9a"
# onion addresses are base32 - base32 alphabet allows letters [a-z] and digits [2-7]
PREFIX_CHARS="234567abcdefghijklmnopqrstuvwxyz" # "jam"

View file

@ -61,9 +61,10 @@
"version": "node scripts/changelog.mjs && git checkout -b \"prepare-v${npm_package_version}-$(date +%s)\" && git add --all && git commit --message \"chore(release): v${npm_package_version}\" && git push --set-upstream origin $(git branch --show-current)",
"postversion": "which gh && gh pr create --title \"chore(release): v${npm_package_version}\" --body \"Prepares the v${npm_package_version} release.\" --assignee @me --label release --repo joinmarket-webui/jam --draft",
"regtest:build": "npm run regtest:clear && docker compose --env-file docker/regtest/.env.example --file docker/regtest/docker-compose.yml build --pull",
"regtest:rebuild": "npm run regtest:build -- --no-cache",
"regtest:rebuild": "rm -rf docker/regtest/.tmp && npm run regtest:build -- --no-cache",
"regtest:clear": "docker compose --env-file docker/regtest/.env.example --file docker/regtest/docker-compose.yml down --volumes --remove-orphans",
"regtest:up": "./docker/regtest/prepare-setup.sh && docker compose --env-file docker/regtest/.env.generated --file docker/regtest/docker-compose.yml up",
"regtest:up": "./docker/regtest/prepare-setup.sh && docker compose --env-file docker/regtest/.env.generated --file docker/regtest/docker-compose.yml up --detach --wait --wait-timeout 120",
"regtest:logs": "docker compose --env-file docker/regtest/.env.example --file docker/regtest/docker-compose.yml logs --follow",
"regtest:down": "docker compose --env-file docker/regtest/.env.example --file docker/regtest/docker-compose.yml down",
"regtest:logs:jmwalletd": "docker exec -t jm_regtest_joinmarket tail -f /var/log/jam/jmwalletd_stdout.log",
"regtest:logs:schedule": "docker exec -t jm_regtest_joinmarket tail -f /root/.joinmarket/logs/TUMBLE.schedule",