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:=""}