From 110c1caa01462b697e754e32810d0cf527c128da Mon Sep 17 00:00:00 2001 From: Kukks Date: Mon, 30 Aug 2021 14:41:43 +0200 Subject: [PATCH 1/6] Add Mempool Explorer --- Production/nginx.tmpl | 41 ++++++++++- .../docker-fragments/opt-add-electrumx.yml | 3 +- .../docker-fragments/opt-add-mempool.yml | 68 +++++++++++++++++++ 3 files changed, 108 insertions(+), 4 deletions(-) create mode 100644 docker-compose-generator/docker-fragments/opt-add-mempool.yml diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index d8db563..3f7c69a 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -191,8 +191,8 @@ proxy_set_header X-Forwarded-Proto https; proxy_pass http://configurator; } - {{ end }} - {{ if (eq $serviceName "nnostr-relay") }} + {{ end }} + {{ if (eq $serviceName "nnostr-relay") }} location /nostr/ { proxy_set_header Connection ""; proxy_set_header Host $host; @@ -207,7 +207,42 @@ proxy_set_header Connection "Upgrade"; proxy_pass http://nnostr-relay; } - {{ end }} + {{ end }} + {{ if (eq $serviceName "mempool_web") }} + location /mempool/ { + proxy_pass http://mempool_web:8080; + + # static API docs + location = /api { + try_files $uri $uri/ /en-US/index.html =404; + } + location = /api/ { + try_files $uri $uri/ /en-US/index.html =404; + } + + # mainnet API + location /api/v1/ws { + proxy_pass http://mempool_api:8999/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + location /api/v1 { + proxy_pass http://mempool_api:8999/api/v1; + } + location /api/ { + proxy_pass http://mempool_api:8999/api/v1/; + } + + # mainnet API + location /ws { + proxy_pass http://mempool_api:8999/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + } + } + {{ end }} {{ end }} {{ end }} diff --git a/docker-compose-generator/docker-fragments/opt-add-electrumx.yml b/docker-compose-generator/docker-fragments/opt-add-electrumx.yml index 3bddd6c..e92d392 100644 --- a/docker-compose-generator/docker-fragments/opt-add-electrumx.yml +++ b/docker-compose-generator/docker-fragments/opt-add-electrumx.yml @@ -4,7 +4,6 @@ services: bitcoind: environment: BITCOIN_EXTRA_ARGS: | - txindex=1 rpcauth=electrumx:7d8ee47c089e6072635f82b34796e878$$13649d99453ccdf78e85007286422599c00e6953289f41bf8e92961076ba14db electrumx: image: lukechilds/electrumx @@ -20,3 +19,5 @@ volumes: electrumx_datadir: incompatible: - pruning +required: + - "opt-txindex" \ No newline at end of file diff --git a/docker-compose-generator/docker-fragments/opt-add-mempool.yml b/docker-compose-generator/docker-fragments/opt-add-mempool.yml new file mode 100644 index 0000000..1830a61 --- /dev/null +++ b/docker-compose-generator/docker-fragments/opt-add-mempool.yml @@ -0,0 +1,68 @@ +version: '3' + +services: + bitcoind: + environment: + BITCOIN_EXTRA_ARGS: | + rpcauth=mempool:d77ee0acf132038f6aaa9d4500d745ec$72cc78dcf18191c91d10c15ff8f7c3dbbd170c4d3107cca35d71c6bf96af2ed9 + mempool_web: + image: mempool/frontend:latest + restart: on-failure + stop_grace_period: 1m + command: "./wait-for mempool_db:3306 --timeout=720 -- nginx -g 'daemon off;'" + expose: + - "8080" + environment: + FRONTEND_HTTP_PORT: "8080" + BACKEND_MAINNET_HTTP_HOST: "mempool_api" + + mempool_api: + image: mempool/backend:latest + restart: on-failure + stop_grace_period: 1m + command: "./wait-for-it.sh db:3306 --timeout=720 --strict -- ./start.sh" + volumes: + - mempool_api_datadir:/backend/cache + environment: + RPC_HOST: "bitcoind" + RPC_PORT: "43782" + RPC_USER: "mempool" + RPC_PASS: "mempool" + ELECTRUM_HOST: "electrumx" + ELECTRUM_PORT: "50002" + ELECTRUM_TLS: "false" + MYSQL_HOST: "mempool_db" + MYSQL_PORT: "3306" + MYSQL_DATABASE: "mempool" + MYSQL_USER: "mempool" + MYSQL_PASS: "mempool" + BACKEND_MAINNET_HTTP_PORT: "8999" + CACHE_DIR: "/backend/cache" + MEMPOOL_CLEAR_PROTECTION_MINUTES: "20" + + mempool_db: + image: mariadb:10.5.8 + restart: on-failure + expose: + - "3306" + volumes: + - "mempool_db_datadir:/var/lib/mysql" + - ./mysql/db-scripts:/docker-entrypoint-initdb.d + environment: + MYSQL_DATABASE: "mempool" + MYSQL_USER: "mempool" + MYSQL_PASSWORD: "mempool" + MYSQL_ROOT_PASSWORD: "admin" + + btcpayserver: + environment: + BTCPAY_EXTERNALSERVICES: "Mempool Explorer:/mempool-explorer" +volumes: + - mempool_db_datadir: + - mempool_api_datadir: + +required: + - opt-add-electrumx + - opt-txindex +incompatible: + - pruning From b3701ebad3da2b4cca43efef50187334fee7ed55 Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Sat, 10 Sep 2022 13:30:15 +0200 Subject: [PATCH 2/6] Update mempool fragment --- Production/nginx.tmpl | 18 +++++--- .../docker-fragments/opt-add-mempool.yml | 46 ++++++++++--------- 2 files changed, 36 insertions(+), 28 deletions(-) diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index 3f7c69a..f00f37e 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -209,33 +209,39 @@ } {{ end }} {{ if (eq $serviceName "mempool_web") }} + # https://github.com/mempool/mempool/tree/master/production/nginx location /mempool/ { proxy_pass http://mempool_web:8080; + sub_filter_types *; + sub_filter_once off; + sub_filter 'base href="/' 'base href="/mempool/'; + sub_filter '="/resources' '="/mempool/resources'; + # static API docs - location = /api { + location = /mempool/api { try_files $uri $uri/ /en-US/index.html =404; } - location = /api/ { + location = /mempool/api/ { try_files $uri $uri/ /en-US/index.html =404; } # mainnet API - location /api/v1/ws { + location /mempool/api/v1/ws { proxy_pass http://mempool_api:8999/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } - location /api/v1 { + location /mempool/api/v1 { proxy_pass http://mempool_api:8999/api/v1; } - location /api/ { + location /mempool/api/ { proxy_pass http://mempool_api:8999/api/v1/; } # mainnet API - location /ws { + location /mempool/ws { proxy_pass http://mempool_api:8999/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; diff --git a/docker-compose-generator/docker-fragments/opt-add-mempool.yml b/docker-compose-generator/docker-fragments/opt-add-mempool.yml index 1830a61..9ecc423 100644 --- a/docker-compose-generator/docker-fragments/opt-add-mempool.yml +++ b/docker-compose-generator/docker-fragments/opt-add-mempool.yml @@ -1,10 +1,14 @@ version: '3' +# reference: https://github.com/mempool/mempool/blob/master/docker/docker-compose.yml services: bitcoind: environment: BITCOIN_EXTRA_ARGS: | - rpcauth=mempool:d77ee0acf132038f6aaa9d4500d745ec$72cc78dcf18191c91d10c15ff8f7c3dbbd170c4d3107cca35d71c6bf96af2ed9 + # We need to use rpcauth because we also need cookieauth. rpcpassword disabled cookie file auth. + # Be careful if you copy the line below from the docker-compose.yml! A dollar sign is escaped. + rpcauth=mempool:d77ee0acf132038f6aaa9d4500d745ec$$72cc78dcf18191c91d10c15ff8f7c3dbbd170c4d3107cca35d71c6bf96af2ed9 + mempool_web: image: mempool/frontend:latest restart: on-failure @@ -20,34 +24,31 @@ services: image: mempool/backend:latest restart: on-failure stop_grace_period: 1m - command: "./wait-for-it.sh db:3306 --timeout=720 --strict -- ./start.sh" + command: "./wait-for-it.sh mempool_db:3306 --timeout=720 --strict -- ./start.sh" volumes: - mempool_api_datadir:/backend/cache environment: - RPC_HOST: "bitcoind" - RPC_PORT: "43782" - RPC_USER: "mempool" - RPC_PASS: "mempool" + MEMPOOL_BACKEND: "electrum" ELECTRUM_HOST: "electrumx" ELECTRUM_PORT: "50002" - ELECTRUM_TLS: "false" - MYSQL_HOST: "mempool_db" - MYSQL_PORT: "3306" - MYSQL_DATABASE: "mempool" - MYSQL_USER: "mempool" - MYSQL_PASS: "mempool" - BACKEND_MAINNET_HTTP_PORT: "8999" - CACHE_DIR: "/backend/cache" - MEMPOOL_CLEAR_PROTECTION_MINUTES: "20" + ELECTRUM_TLS_ENABLED: "false" + CORE_RPC_HOST: "bitcoind" + CORE_RPC_PORT: "43782" + CORE_RPC_USERNAME: "mempool" + CORE_RPC_PASSWORD: "mempool" + DATABASE_ENABLED: "true" + DATABASE_HOST: "mempool_db" + DATABASE_DATABASE: "mempool" + DATABASE_USERNAME: "mempool" + DATABASE_PASSWORD: "mempool" mempool_db: image: mariadb:10.5.8 - restart: on-failure + restart: on-failure expose: - "3306" volumes: - "mempool_db_datadir:/var/lib/mysql" - - ./mysql/db-scripts:/docker-entrypoint-initdb.d environment: MYSQL_DATABASE: "mempool" MYSQL_USER: "mempool" @@ -56,13 +57,14 @@ services: btcpayserver: environment: - BTCPAY_EXTERNALSERVICES: "Mempool Explorer:/mempool-explorer" + BTCPAY_EXTERNALSERVICES: "Mempool Explorer:/mempool" + volumes: - - mempool_db_datadir: - - mempool_api_datadir: + mempool_db_datadir: + mempool_api_datadir: required: - - opt-add-electrumx - - opt-txindex + - "opt-add-electrumx" + incompatible: - pruning From 831d7a561b03b5ec6c14244d70b8714dc0d58e66 Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Tue, 11 Oct 2022 16:08:43 +0200 Subject: [PATCH 3/6] Final updates --- Production/nginx.tmpl | 38 +++++++++---------- README.md | 6 ++- contrib/DockerFileBuildHelper/Program.cs | 8 ++++ contrib/build-all-images.sh | 16 ++++++-- .../docker-fragments/opt-add-electrumx.yml | 4 +- .../docker-fragments/opt-add-mempool.yml | 10 +++-- 6 files changed, 51 insertions(+), 31 deletions(-) diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index f00f37e..90fbfce 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -211,42 +211,38 @@ {{ if (eq $serviceName "mempool_web") }} # https://github.com/mempool/mempool/tree/master/production/nginx location /mempool/ { - proxy_pass http://mempool_web:8080; + proxy_pass http://mempool_web:8080/; + + # Bypass gzip, so that we can apply sub_filter, which does not work with proxy compressed response. + # Details: https://www.nginx.com/resources/wiki/modules/substitutions/#directives + proxy_set_header Accept-Encoding ""; sub_filter_types *; sub_filter_once off; - sub_filter 'base href="/' 'base href="/mempool/'; - sub_filter '="/resources' '="/mempool/resources'; - # static API docs - location = /mempool/api { - try_files $uri $uri/ /en-US/index.html =404; - } - location = /mempool/api/ { - try_files $uri $uri/ /en-US/index.html =404; - } + sub_filter 'base href="/' 'base href="/mempool/'; + sub_filter '/api/v1/' '/mempool/api/v1/'; + sub_filter '/resources' '/mempool/resources'; + + proxy_set_header Accept-Encoding ""; + proxy_pass http://mempool_web:8080/; # mainnet API location /mempool/api/v1/ws { - proxy_pass http://mempool_api:8999/; + proxy_pass http://mempool_api:8999; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } - location /mempool/api/v1 { - proxy_pass http://mempool_api:8999/api/v1; + location /mempool/api/v1/ { + proxy_pass http://mempool_api:8999/api/v1/; } location /mempool/api/ { proxy_pass http://mempool_api:8999/api/v1/; } - - # mainnet API - location /mempool/ws { - proxy_pass http://mempool_api:8999/; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - } + } + location ~ "^/[a-z]{2}/mempool" { + rewrite ^/(.*)/mempool $scheme://$server_name/mempool/$1/ redirect; } {{ end }} {{ end }} diff --git a/README.md b/README.md index 7bc3c3c..5181b51 100644 --- a/README.md +++ b/README.md @@ -172,14 +172,15 @@ Available `BTCPAYGEN_ADDITIONAL_FRAGMENTS` currently are: * [opt-txindex](docker-compose-generator/docker-fragments/opt-txindex.yml), to enable txindex=1 in bitcoin.conf if you require txindexing for Bisq, DOJO, etc. * [opt-expose-unsafe](docker-compose-generator/docker-fragments/opt-expose-unsafe.yml), to unsafely expose bitcoind P2P port 8333 if you require P2P for Bisq, DOJO, Esplora, etc. WARNING: ONLY USE ON TRUSTED LAN OR WITH FIREWALL RULES WHITELISTING SPECIFIC HOSTS * [opt-add-tor-relay](docker-compose-generator/docker-fragments/opt-add-tor-relay.yml), for a non-exit tor relay. Make sure to have ports 9001 and 9030 accessible externally. [Please read the legal implications of running a tor relay](https://community.torproject.org/relay/community-resources/eff-tor-legal-faq) and [what resources are used to operate the relay](https://trac.torproject.org/projects/tor/wiki/TorRelayGuide#RelayRequirements). -* [opt-add-electrumx](docker-compose-generator/docker-fragments/opt-add-electrumx.yml), to integrate a full ElectrumX server (from official source) with BTCPay, using the BTCPay server's full bitcoin node for complete privacy when using your own Electrum wallet. You can also open port 50002 up to the internet on your router etc, to be part of the ElectrumX network, helping other Electrum wallet users to get connected. The bitcoin option `-txindex` is mandatory for ElectrumX, and this fragment will enable it on your BTCPay server automatically - NO need to use the fragment opt-txindex.yml. -* [opt-add-electrum-ps](docker-compose-generator/docker-fragments/opt-add-electrum-ps.yml), to integrate Electrum Personal Server (EPS) with BTCPay (EPS is a single-user alternative to the ElectrumX Server option above). EPS will also use the BTCPay server's full bitcoin node for complete privacy when using your own Electrum wallet, for your own personal use (i.e. other users cannot use your server to verify transactions). Also, the bitcoin option `-txindex` is NOT mandatory for EPS, and it will run on a pruned node (unlike ElectrumX). You will need to add your XPUB/YPUB/ZPUB as environment variable `EPS_XPUB` before enabling EPS for the first time (see above section on environment variables, and see [full documentation](https://docs.btcpayserver.org/ElectrumPersonalServer/) for details). +* [opt-add-electrumx](docker-compose-generator/docker-fragments/opt-add-electrumx.yml), to integrate a full ElectrumX server (from official source) with BTCPay, using the BTCPay server's full bitcoin node for complete privacy when using your own Electrum wallet. You can also open port 50002 up to the internet on your router etc, to be part of the ElectrumX network, helping other Electrum wallet users to get connected. The bitcoin option `-txindex` is mandatory for ElectrumX, and this fragment will enable it on your BTCPay server automatically - No need to use the fragment opt-txindex.yml. +* [opt-add-electrum-ps](docker-compose-generator/docker-fragments/opt-add-electrum-ps.yml), to integrate Electrum Personal Server (EPS) with BTCPay (EPS is a single-user alternative to the ElectrumX Server option above). EPS will also use the BTCPay server's full bitcoin node for complete privacy when using your own Electrum wallet, for your own personal use (i.e. other users cannot use your server to verify transactions). Also, the bitcoin option `-txindex` is NOT mandatory for EPS, and it will run on a pruned node (unlike ElectrumX). You will need to add your XPUB/YPUB/ZPUB as environment variable `EPS_XPUB` before enabling EPS for the first time (see above section on environment variables, and see [full documentation](https://docs.btcpayserver.org/ElectrumPersonalServer/) for details). * [opt-add-electrum-bwt](docker-compose-generator/docker-fragments/opt-add-bwt.yml), to integrate the [Bitcoin Wallet Tracker](https://github.com/bwt-dev/bwt) Electrum server, which uses a personal wallet index model similar to that of EPS. You will need to set `BWT_XPUB` with your XPUB/YPUB/ZPUB (see environment variables section). The server will only be available locally and through an onion service. * [opt-add-configurator](docker-compose-generator/docker-fragments/opt-add-configurator.yml), to integrate the [BTCPay Server Configurator](https://install.btcpayserver.org) to manage your BTCPay deployment through a UI, and to allow new deployments elsewhere easily. * [opt-add-pihole](docker-compose-generator/docker-fragments/opt-add-pihole.yml) ([See the documentation](docs/pihole.md)) * [opt-add-bluewallet-lndhub](docker-compose-generator/docker-fragments/opt-add-bluewallet-lndhub.yml) for [Bluewallet LNDHub](https://github.com/BlueWallet/LndHub) - Use non-custodial LND Lightning directly from your Bluewallet, and freely let others open accounts on your node. Fragment maintained by [maltokyo](https://github.com/maltokyo). * [opt-add-ndlc](docker-compose-generator/docker-fragments/opt-add-ndlc.yml) ([See the documentation](docs/ndlc.md)) * [opt-add-lightning-terminal](docker-compose-generator/docker-fragments/opt-add-lightning-terminal.yml) for [Lightning Terminal/LiT](https://github.com/lightninglabs/lightning-terminal). Maintained by [dennisreimann](https://github.com/dennisreimann). +* [opt-add-mempool](docker-compose-generator/docker-fragments/opt-add-mempool.yml) for [Mempool](https://github.com/mempool/mempool). Maintained by [dennisreimann](https://github.com/dennisreimann). * [opt-add-sphinxrelay](docker-compose-generator/docker-fragments/opt-add-sphinxrelay.yml) for [Sphinx Relay](https://github.com/stakwork/sphinx-relay). Maintained by [dennisreimann](https://github.com/dennisreimann). * [opt-add-tallycoin-connect](docker-compose-generator/docker-fragments/opt-add-tallycoin-connect.yml) for [Tallycoin Connect](https://github.com/dennisreimann/tallycoin_connect). Maintained by [dennisreimann](https://github.com/dennisreimann). * [opt-add-thunderhub](docker-compose-generator/docker-fragments/opt-add-thunderhub.yml) for a LND Lightning Node Manager in your Browser. Maintained by [apotdevin](https://github.com/apotdevin). @@ -390,6 +391,7 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H | jvandrew/librepatron | 0.7.39 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/patron/v0.7.39/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/patron) - [DockerHub](https://hub.docker.com/r/jvandrew/librepatron) | | jvandrew/isso | atron.22 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/isso/patron.22/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/isso) - [DockerHub](https://hub.docker.com/r/jvandrew/isso) | | lightninglabs/lightning-terminal | v0.6.7-alpha-path-prefix | [✔️](https://raw.githubusercontent.com/lightninglabs/lightning-terminal/v0.6.7-alpha/Dockerfile) | ️❌ | [✔️](https://raw.githubusercontent.com/lightninglabs/lightning-terminal/v0.6.7-alpha/Dockerfile) | [Github](https://github.com/lightninglabs/lightning-terminal) - [DockerHub](https://hub.docker.com/r/lightninglabs/lightning-terminal) | +| mempool/mempool | v2.5.0-dev1 | [✔️](https://raw.githubusercontent.com/mempool/mempool/v2.5.0-dev1/docker/frontend/Dockerfile) | [✔️](https://raw.githubusercontent.com/mempool/mempool/v2.5.0-dev1/docker/frontend/Dockerfile) | [✔️](https://raw.githubusercontent.com/mempool/mempool/v2.5.0-dev1/docker/frontend/Dockerfile) | [Github](https://github.com/mempool/mempool) - [DockerHub](https://hub.docker.com/r/mempool/frontend) | | kukks/nnostr-relay | v0.0.7 | [✔️](https://raw.githubusercontent.com/kukks/nnostr/Relay/v0.0.7/Relay/Dockerfile) | [✔️](https://raw.githubusercontent.com/kukks/nnostr/Relay/v0.0.7/Relay/Dockerfile) | [✔️](https://raw.githubusercontent.com/kukks/nnostr/Relay/v0.0.7/Relay/Dockerfile) | [Github](https://github.com/kukks/nnostr) - [DockerHub](https://hub.docker.com/r/kukks/nnostr-relay) | | sphinxlightning/sphinx-relay | v2.2.9 | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.2.9/Dockerfile) | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.2.9/Dockerfile) | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.2.9/Dockerfile) | [Github](https://github.com/stakwork/sphinx-relay) - [DockerHub](https://hub.docker.com/r/sphinxlightning/sphinx-relay) | | dennisreimann/tallycoin_connect | v1.7.3 | [✔️](https://raw.githubusercontent.com/dennisreimann/tallycoin_connect/v1.7.3/Dockerfile) | [✔️](https://raw.githubusercontent.com/dennisreimann/tallycoin_connect/v1.7.3/Dockerfile.arm32v7) | [✔️](https://raw.githubusercontent.com/dennisreimann/tallycoin_connect/v1.7.3/Dockerfile.arm64v8) | [Github](https://github.com/dennisreimann/tallycoin_connect) - [DockerHub](https://hub.docker.com/r/dennisreimann/tallycoin_connect) | diff --git a/contrib/DockerFileBuildHelper/Program.cs b/contrib/DockerFileBuildHelper/Program.cs index 29e68b1..352b932 100644 --- a/contrib/DockerFileBuildHelper/Program.cs +++ b/contrib/DockerFileBuildHelper/Program.cs @@ -298,6 +298,14 @@ namespace DockerFileBuildHelper dockerInfo.GitRef = $"{image.Tag}"; dockerInfo.SupportedByUs = false; break; + case "mempool": + dockerInfo.DockerFilePath = "docker/frontend/Dockerfile"; + dockerInfo.DockerFilePathARM32v7 = "docker/frontend/Dockerfile"; + dockerInfo.DockerFilePathARM64v8 = "docker/frontend/Dockerfile"; + dockerInfo.GitLink = "https://github.com/mempool/mempool"; + dockerInfo.GitRef = $"{image.Tag}"; + dockerInfo.SupportedByUs = false; + break; case "docker-bitcoingold": dockerInfo.DockerFilePath = $"bitcoingold/{image.Tag}/Dockerfile"; dockerInfo.GitLink = "https://github.com/Vutov/docker-bitcoin"; diff --git a/contrib/build-all-images.sh b/contrib/build-all-images.sh index acbfe92..699ecab 100644 --- a/contrib/build-all-images.sh +++ b/contrib/build-all-images.sh @@ -741,7 +741,7 @@ DOCKERFILE="Dockerfile" echo "Building fireflyiii/core:latest" git clone https://dev.azure.com/Firefly-III/_git/MainImage core cd core -git checkout +git checkout cd "$(dirname $DOCKERFILE)" docker build -f "$DOCKERFILE" -t "fireflyiii/core:latest" . cd - && cd .. @@ -817,6 +817,18 @@ docker build -f "$DOCKERFILE" -t "lightninglabs/lightning-terminal:v0.6.7-alpha- cd - && cd .. +# Build mempool +# https://raw.githubusercontent.com/mempool/mempool/v2.5.0-dev1/docker/frontend/Dockerfile +DOCKERFILE="docker/frontend/Dockerfile" +echo "Building mempool/mempool:v2.5.0-dev1" +git clone https://github.com/mempool/mempool mempool +cd mempool +git checkout v2.5.0-dev1 +cd "$(dirname $DOCKERFILE)" +docker build -f "$DOCKERFILE" -t "mempool/mempool:v2.5.0-dev1" . +cd - && cd .. + + # Build ndlc-cli # https://raw.githubusercontent.com/dgarage/ndlc/releases/1.0.1/amd64.Dockerfile DOCKERFILE="amd64.Dockerfile" @@ -1163,5 +1175,3 @@ git checkout master cd "$(dirname $DOCKERFILE)" docker build -f "$DOCKERFILE" -t "romanornr/docker-viacoin:0.15.2" . cd - && cd .. - - diff --git a/docker-compose-generator/docker-fragments/opt-add-electrumx.yml b/docker-compose-generator/docker-fragments/opt-add-electrumx.yml index e92d392..428935c 100644 --- a/docker-compose-generator/docker-fragments/opt-add-electrumx.yml +++ b/docker-compose-generator/docker-fragments/opt-add-electrumx.yml @@ -8,6 +8,8 @@ services: electrumx: image: lukechilds/electrumx restart: unless-stopped + expose: + - "50001" ports: - "50002:50002" volumes: @@ -20,4 +22,4 @@ volumes: incompatible: - pruning required: - - "opt-txindex" \ No newline at end of file + - "opt-txindex" diff --git a/docker-compose-generator/docker-fragments/opt-add-mempool.yml b/docker-compose-generator/docker-fragments/opt-add-mempool.yml index 9ecc423..eeacf6b 100644 --- a/docker-compose-generator/docker-fragments/opt-add-mempool.yml +++ b/docker-compose-generator/docker-fragments/opt-add-mempool.yml @@ -8,9 +8,8 @@ services: # We need to use rpcauth because we also need cookieauth. rpcpassword disabled cookie file auth. # Be careful if you copy the line below from the docker-compose.yml! A dollar sign is escaped. rpcauth=mempool:d77ee0acf132038f6aaa9d4500d745ec$$72cc78dcf18191c91d10c15ff8f7c3dbbd170c4d3107cca35d71c6bf96af2ed9 - mempool_web: - image: mempool/frontend:latest + image: mempool/frontend:v2.5.0-dev1 restart: on-failure stop_grace_period: 1m command: "./wait-for mempool_db:3306 --timeout=720 -- nginx -g 'daemon off;'" @@ -21,16 +20,19 @@ services: BACKEND_MAINNET_HTTP_HOST: "mempool_api" mempool_api: - image: mempool/backend:latest + image: mempool/backend:v2.5.0-dev1 restart: on-failure stop_grace_period: 1m command: "./wait-for-it.sh mempool_db:3306 --timeout=720 --strict -- ./start.sh" volumes: - mempool_api_datadir:/backend/cache + expose: + - "8999" environment: MEMPOOL_BACKEND: "electrum" + MEMPOOL_CACHE_DIR: "/backend/cache" ELECTRUM_HOST: "electrumx" - ELECTRUM_PORT: "50002" + ELECTRUM_PORT: "50001" ELECTRUM_TLS_ENABLED: "false" CORE_RPC_HOST: "bitcoind" CORE_RPC_PORT: "43782" From 4bedfc3439024b25e950b73ee322199c686c75fd Mon Sep 17 00:00:00 2001 From: d11n Date: Wed, 12 Oct 2022 12:29:11 +0200 Subject: [PATCH 4/6] Update Production/nginx.tmpl Co-authored-by: Markus Petzsch --- Production/nginx.tmpl | 1 - 1 file changed, 1 deletion(-) diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index 90fbfce..499223c 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -225,7 +225,6 @@ sub_filter '/resources' '/mempool/resources'; proxy_set_header Accept-Encoding ""; - proxy_pass http://mempool_web:8080/; # mainnet API location /mempool/api/v1/ws { From c0a5e89091960d54605c0a87d95f4cb0594d3640 Mon Sep 17 00:00:00 2001 From: d11n Date: Wed, 12 Oct 2022 12:29:30 +0200 Subject: [PATCH 5/6] Update Production/nginx.tmpl --- Production/nginx.tmpl | 2 -- 1 file changed, 2 deletions(-) diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index 499223c..99ada75 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -224,8 +224,6 @@ sub_filter '/api/v1/' '/mempool/api/v1/'; sub_filter '/resources' '/mempool/resources'; - proxy_set_header Accept-Encoding ""; - # mainnet API location /mempool/api/v1/ws { proxy_pass http://mempool_api:8999; From f8eae35674a02bf89c38cf0bf2a2fdf4e873b5f3 Mon Sep 17 00:00:00 2001 From: d11n Date: Wed, 12 Oct 2022 12:33:33 +0200 Subject: [PATCH 6/6] Update Production/nginx.tmpl --- Production/nginx.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index 99ada75..dd5ab12 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -221,7 +221,7 @@ sub_filter_once off; sub_filter 'base href="/' 'base href="/mempool/'; - sub_filter '/api/v1/' '/mempool/api/v1/'; + sub_filter '/api/' '/mempool/api/'; sub_filter '/resources' '/mempool/resources'; # mainnet API