From af6d115dbb6d9db602f75751f6c3425c9c6b7dec Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 19 Mar 2023 15:39:17 +0900 Subject: [PATCH 1/4] Add missing MAXMIND in docker configs - Remove duplicated `__MEMPOOL_INDEXING_BLOCKS_AMOUNT__` --- backend/src/__tests__/config.test.ts | 7 +++++++ docker/README.md | 23 +++++++++++++++++++++++ docker/backend/mempool-config.json | 6 ++++++ docker/backend/start.sh | 16 ++++++++++++++-- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index 5717808dd..8b7ebc9ce 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -106,6 +106,13 @@ describe('Mempool Backend Config', () => { BISQ_URL: 'https://bisq.markets/api', BISQ_ONION: 'http://bisqmktse2cabavbr2xjq7xw3h6g5ottemo5rolfcwt6aly6tp5fdryd.onion/api' }); + + expect(config.MAXMIND).toStrictEqual({ + ENABLED: false, + GEOLITE2_CITY: '/usr/local/share/GeoIP/GeoLite2-City.mmdb', + GEOLITE2_ASN: '/usr/local/share/GeoIP/GeoLite2-ASN.mmdb', + GEOIP2_ISP: '/usr/local/share/GeoIP/GeoIP2-ISP.mmdb' + }); }); }); diff --git a/docker/README.md b/docker/README.md index 468d8069b..34f130aae 100644 --- a/docker/README.md +++ b/docker/README.md @@ -432,3 +432,26 @@ Corresponding `docker-compose.yml` overrides: CLIGHTNING_SOCKET: "" ... ``` + +
+ +`mempool-config.json`: +```json + "MAXMIND": { + "ENABLED": false, + "GEOLITE2_CITY": "/usr/local/share/GeoIP/GeoLite2-City.mmdb", + "GEOLITE2_ASN": "/usr/local/share/GeoIP/GeoLite2-ASN.mmdb", + "GEOIP2_ISP": "/usr/local/share/GeoIP/GeoIP2-ISP.mmdb" + } +``` + +Corresponding `docker-compose.yml` overrides: +```yaml + api: + environment: + MAXMIND_ENABLED: "", + MAXMIND_GEOLITE2_CITY: "/usr/local/share/GeoIP/GeoLite2-City.mmdb", + MAXMIND_GEOLITE2_ASN": "/usr/local/share/GeoIP/GeoLite2-ASN.mmdb", + MAXMIND_GEOIP2_ISP": "/usr/local/share/GeoIP/GeoIP2-ISP.mmdb" + ... +``` diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 78a2c116b..0099a650d 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -107,5 +107,11 @@ "LIQUID_ONION": "__EXTERNAL_DATA_SERVER_LIQUID_ONION__", "BISQ_URL": "__EXTERNAL_DATA_SERVER_BISQ_URL__", "BISQ_ONION": "__EXTERNAL_DATA_SERVER_BISQ_ONION__" + }, + "MAXMIND": { + "ENABLED": "__MAXMIND_ENABLED__", + "GEOLITE2_CITY": "__MAXMIND_GEOLITE2_CITY__", + "GEOLITE2_ASN": "__MAXMIND_GEOLITE2_ASN__", + "GEOIP2_ISP": "__MAXMIND_GEOIP2_ISP__" } } \ No newline at end of file diff --git a/docker/backend/start.sh b/docker/backend/start.sh index ee5069386..d0e58470b 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -22,7 +22,6 @@ __MEMPOOL_EXTERNAL_MAX_RETRY__=${MEMPOOL_EXTERNAL_MAX_RETRY:=1} __MEMPOOL_EXTERNAL_RETRY_INTERVAL__=${MEMPOOL_EXTERNAL_RETRY_INTERVAL:=0} __MEMPOOL_USER_AGENT__=${MEMPOOL_USER_AGENT:=mempool} __MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=info} -__MEMPOOL_INDEXING_BLOCKS_AMOUNT__=${MEMPOOL_INDEXING_BLOCKS_AMOUNT:=false} __MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__=${MEMPOOL_AUTOMATIC_BLOCK_REINDEXING:=false} __MEMPOOL_POOLS_JSON_URL__=${MEMPOOL_POOLS_JSON_URL:=https://raw.githubusercontent.com/mempool/mining-pools/master/pools-v2.json} __MEMPOOL_POOLS_JSON_TREE_URL__=${MEMPOOL_POOLS_JSON_TREE_URL:=https://api.github.com/repos/mempool/mining-pools/git/trees/master} @@ -112,6 +111,13 @@ __LND_REST_API_URL__=${LND_REST_API_URL:="https://localhost:8080"} # CLN __CLIGHTNING_SOCKET__=${CLIGHTNING_SOCKET:=""} +# MAXMIND +__MAXMIND_ENABLED__=${MAXMIND_ENABLED:=false} +__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="/usr/local/share/GeoIP/GeoLite2-City.mmdb"} +__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="/usr/local/share/GeoIP/GeoLite2-ASN.mmdb"} +__MAXMIND_GEOIP2_ISP__=${MAXMIND_GEOIP2_IS:="/usr/local/share/GeoIP/GeoIP2-ISP.mmdb"} + + mkdir -p "${__MEMPOOL_CACHE_DIR__}" sed -i "s/__MEMPOOL_NETWORK__/${__MEMPOOL_NETWORK__}/g" mempool-config.json @@ -135,7 +141,6 @@ sed -i "s!__MEMPOOL_EXTERNAL_MAX_RETRY__!${__MEMPOOL_EXTERNAL_MAX_RETRY__}!g" me sed -i "s!__MEMPOOL_EXTERNAL_RETRY_INTERVAL__!${__MEMPOOL_EXTERNAL_RETRY_INTERVAL__}!g" mempool-config.json sed -i "s!__MEMPOOL_USER_AGENT__!${__MEMPOOL_USER_AGENT__}!g" mempool-config.json sed -i "s/__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__/${__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__}/g" mempool-config.json -sed -i "s/__MEMPOOL_INDEXING_BLOCKS_AMOUNT__/${__MEMPOOL_INDEXING_BLOCKS_AMOUNT__}/g" mempool-config.json sed -i "s/__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__/${__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__}/g" mempool-config.json sed -i "s!__MEMPOOL_POOLS_JSON_URL__!${__MEMPOOL_POOLS_JSON_URL__}!g" mempool-config.json sed -i "s!__MEMPOOL_POOLS_JSON_TREE_URL__!${__MEMPOOL_POOLS_JSON_TREE_URL__}!g" mempool-config.json @@ -215,4 +220,11 @@ sed -i "s!__LND_REST_API_URL__!${__LND_REST_API_URL__}!g" mempool-config.json # CLN sed -i "s!__CLIGHTNING_SOCKET__!${__CLIGHTNING_SOCKET__}!g" mempool-config.json +# MAXMIND +sed -i "s!__MAXMIND_ENABLED__!${__MAXMIND_ENABLED__}!g" mempool-config.json +sed -i "s!__MAXMIND_GEOLITE2_CITY__!${__MAXMIND_GEOLITE2_CITY__}!g" mempool-config.json +sed -i "s!__MAXMIND_GEOLITE2_ASN__!${__MAXMIND_GEOLITE2_ASN__}!g" mempool-config.json +sed -i "s!__MAXMIND_GEOIP2_ISP__!${__MAXMIND_GEOIP2_ISP__}!g" mempool-config.json + + node /backend/package/index.js From e2e71c7a4688bafe863110beb59cea01d20d279d Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 19 Mar 2023 17:33:51 +0900 Subject: [PATCH 2/4] Add Maxmind GeoIP Lite download to Docker build --- backend/src/__tests__/config.test.ts | 8 ++++---- docker/README.md | 10 +++++----- docker/backend/Dockerfile | 1 + docker/backend/mempool-config.json | 2 +- docker/backend/start.sh | 8 ++++---- docker/init.sh | 5 +++++ 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/backend/src/__tests__/config.test.ts b/backend/src/__tests__/config.test.ts index 8b7ebc9ce..72533829b 100644 --- a/backend/src/__tests__/config.test.ts +++ b/backend/src/__tests__/config.test.ts @@ -108,10 +108,10 @@ describe('Mempool Backend Config', () => { }); expect(config.MAXMIND).toStrictEqual({ - ENABLED: false, - GEOLITE2_CITY: '/usr/local/share/GeoIP/GeoLite2-City.mmdb', - GEOLITE2_ASN: '/usr/local/share/GeoIP/GeoLite2-ASN.mmdb', - GEOIP2_ISP: '/usr/local/share/GeoIP/GeoIP2-ISP.mmdb' + ENABLED: true, + GEOLITE2_CITY: './backend/GeoIP/GeoLite2-City.mmdb', + GEOLITE2_ASN: './backend/GeoIP/GeoLite2-ASN.mmdb', + GEOIP2_ISP: '' }); }); }); diff --git a/docker/README.md b/docker/README.md index 34f130aae..e6f6a3c07 100644 --- a/docker/README.md +++ b/docker/README.md @@ -438,7 +438,7 @@ Corresponding `docker-compose.yml` overrides: `mempool-config.json`: ```json "MAXMIND": { - "ENABLED": false, + "ENABLED": true, "GEOLITE2_CITY": "/usr/local/share/GeoIP/GeoLite2-City.mmdb", "GEOLITE2_ASN": "/usr/local/share/GeoIP/GeoLite2-ASN.mmdb", "GEOIP2_ISP": "/usr/local/share/GeoIP/GeoIP2-ISP.mmdb" @@ -449,9 +449,9 @@ Corresponding `docker-compose.yml` overrides: ```yaml api: environment: - MAXMIND_ENABLED: "", - MAXMIND_GEOLITE2_CITY: "/usr/local/share/GeoIP/GeoLite2-City.mmdb", - MAXMIND_GEOLITE2_ASN": "/usr/local/share/GeoIP/GeoLite2-ASN.mmdb", - MAXMIND_GEOIP2_ISP": "/usr/local/share/GeoIP/GeoIP2-ISP.mmdb" + MAXMIND_ENABLED: true, + MAXMIND_GEOLITE2_CITY: "./backend/GeoIP/GeoLite2-City.mmdb", + MAXMIND_GEOLITE2_ASN": "./backend/GeoIP/GeoLite2-ASN.mmdb", + MAXMIND_GEOIP2_ISP": "./backend/GeoIP/GeoIP2-ISP.mmdb" ... ``` diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile index 9be457bb2..fd5044c0f 100644 --- a/docker/backend/Dockerfile +++ b/docker/backend/Dockerfile @@ -17,6 +17,7 @@ WORKDIR /backend RUN chown 1000:1000 ./ COPY --from=builder --chown=1000:1000 /build/package ./package/ +COPY --from=builder --chown=1000:1000 /build/GeoIP ./GeoIP/ COPY --from=builder --chown=1000:1000 /build/mempool-config.json /build/start.sh /build/wait-for-it.sh ./ USER 1000 diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index 0099a650d..c1f187437 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -114,4 +114,4 @@ "GEOLITE2_ASN": "__MAXMIND_GEOLITE2_ASN__", "GEOIP2_ISP": "__MAXMIND_GEOIP2_ISP__" } -} \ No newline at end of file +} diff --git a/docker/backend/start.sh b/docker/backend/start.sh index d0e58470b..11c638735 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -112,10 +112,10 @@ __LND_REST_API_URL__=${LND_REST_API_URL:="https://localhost:8080"} __CLIGHTNING_SOCKET__=${CLIGHTNING_SOCKET:=""} # MAXMIND -__MAXMIND_ENABLED__=${MAXMIND_ENABLED:=false} -__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="/usr/local/share/GeoIP/GeoLite2-City.mmdb"} -__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="/usr/local/share/GeoIP/GeoLite2-ASN.mmdb"} -__MAXMIND_GEOIP2_ISP__=${MAXMIND_GEOIP2_IS:="/usr/local/share/GeoIP/GeoIP2-ISP.mmdb"} +__MAXMIND_ENABLED__=${MAXMIND_ENABLED:=true} +__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="./backend/GeoIP/GeoLite2-City.mmdb"} +__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="./backend/GeoIP/GeoLite2-ASN.mmdb"} +__MAXMIND_GEOIP2_ISP__=${MAXMIND_GEOIP2_ISP:=""} mkdir -p "${__MEMPOOL_CACHE_DIR__}" diff --git a/docker/init.sh b/docker/init.sh index 4eb06f0c1..ee9ac9542 100755 --- a/docker/init.sh +++ b/docker/init.sh @@ -3,6 +3,11 @@ #backend cp ./docker/backend/* ./backend/ +#geoip-data +mkdir -p ./backend/GeoIP/ +wget -O ./backend/GeoIP/GeoLite2-City.mmdb https://raw.githubusercontent.com/mempool/geoip-data/master/GeoLite2-City.mmdb +wget -O ./backend/GeoIP/GeoLite2-ASN.mmdb https://raw.githubusercontent.com/mempool/geoip-data/master/GeoLite2-ASN.mmdb + #frontend localhostIP="127.0.0.1" cp ./docker/frontend/* ./frontend From 0abb9cbb7c4a58f0cebab61c9b4f2f1346bcfa2b Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 19 Mar 2023 17:49:37 +0900 Subject: [PATCH 3/4] Fix boolean configuration option in docker backend config --- docker/backend/mempool-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/backend/mempool-config.json b/docker/backend/mempool-config.json index c1f187437..1b3ac1837 100644 --- a/docker/backend/mempool-config.json +++ b/docker/backend/mempool-config.json @@ -109,7 +109,7 @@ "BISQ_ONION": "__EXTERNAL_DATA_SERVER_BISQ_ONION__" }, "MAXMIND": { - "ENABLED": "__MAXMIND_ENABLED__", + "ENABLED": __MAXMIND_ENABLED__, "GEOLITE2_CITY": "__MAXMIND_GEOLITE2_CITY__", "GEOLITE2_ASN": "__MAXMIND_GEOLITE2_ASN__", "GEOIP2_ISP": "__MAXMIND_GEOIP2_ISP__" From 32c2db2153877057dbfc5be43ffbfaa06bc50ec1 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 19 Mar 2023 18:00:37 +0900 Subject: [PATCH 4/4] Fix backend docker config path for GeoIP data --- docker/README.md | 6 +++--- docker/backend/start.sh | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/README.md b/docker/README.md index e6f6a3c07..525ecb718 100644 --- a/docker/README.md +++ b/docker/README.md @@ -450,8 +450,8 @@ Corresponding `docker-compose.yml` overrides: api: environment: MAXMIND_ENABLED: true, - MAXMIND_GEOLITE2_CITY: "./backend/GeoIP/GeoLite2-City.mmdb", - MAXMIND_GEOLITE2_ASN": "./backend/GeoIP/GeoLite2-ASN.mmdb", - MAXMIND_GEOIP2_ISP": "./backend/GeoIP/GeoIP2-ISP.mmdb" + MAXMIND_GEOLITE2_CITY: "/backend/GeoIP/GeoLite2-City.mmdb", + MAXMIND_GEOLITE2_ASN": "/backend/GeoIP/GeoLite2-ASN.mmdb", + MAXMIND_GEOIP2_ISP": "/backend/GeoIP/GeoIP2-ISP.mmdb" ... ``` diff --git a/docker/backend/start.sh b/docker/backend/start.sh index 11c638735..fced20974 100755 --- a/docker/backend/start.sh +++ b/docker/backend/start.sh @@ -113,8 +113,8 @@ __CLIGHTNING_SOCKET__=${CLIGHTNING_SOCKET:=""} # MAXMIND __MAXMIND_ENABLED__=${MAXMIND_ENABLED:=true} -__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="./backend/GeoIP/GeoLite2-City.mmdb"} -__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="./backend/GeoIP/GeoLite2-ASN.mmdb"} +__MAXMIND_GEOLITE2_CITY__=${MAXMIND_GEOLITE2_CITY:="/backend/GeoIP/GeoLite2-City.mmdb"} +__MAXMIND_GEOLITE2_ASN__=${MAXMIND_GEOLITE2_ASN:="/backend/GeoIP/GeoLite2-ASN.mmdb"} __MAXMIND_GEOIP2_ISP__=${MAXMIND_GEOIP2_ISP:=""}