diff --git a/Production-NoReverseProxy/docker-compose.btc-clightning.yml b/Production-NoReverseProxy/docker-compose.btc-clightning.yml index 93f4f15..541ca27 100644 --- a/Production-NoReverseProxy/docker-compose.btc-clightning.yml +++ b/Production-NoReverseProxy/docker-compose.btc-clightning.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production-NoReverseProxy/docker-compose.btc-ltc-clightning.yml b/Production-NoReverseProxy/docker-compose.btc-ltc-clightning.yml index eabd9f9..867c658 100644 --- a/Production-NoReverseProxy/docker-compose.btc-ltc-clightning.yml +++ b/Production-NoReverseProxy/docker-compose.btc-ltc-clightning.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production-NoReverseProxy/docker-compose.btc-ltc.yml b/Production-NoReverseProxy/docker-compose.btc-ltc.yml index f0bd3fc..5b56066 100644 --- a/Production-NoReverseProxy/docker-compose.btc-ltc.yml +++ b/Production-NoReverseProxy/docker-compose.btc-ltc.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production-NoReverseProxy/docker-compose.btc.yml b/Production-NoReverseProxy/docker-compose.btc.yml index af3fa7c..d9f9d46 100644 --- a/Production-NoReverseProxy/docker-compose.btc.yml +++ b/Production-NoReverseProxy/docker-compose.btc.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production-NoReverseProxy/docker-compose.ltc-clightning.yml b/Production-NoReverseProxy/docker-compose.ltc-clightning.yml index 425f972..3ed79a3 100644 --- a/Production-NoReverseProxy/docker-compose.ltc-clightning.yml +++ b/Production-NoReverseProxy/docker-compose.ltc-clightning.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production-NoReverseProxy/docker-compose.ltc.yml b/Production-NoReverseProxy/docker-compose.ltc.yml index 113c35b..f510561 100644 --- a/Production-NoReverseProxy/docker-compose.ltc.yml +++ b/Production-NoReverseProxy/docker-compose.ltc.yml @@ -2,7 +2,7 @@ version: "3" services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.btc-clightning.yml b/Production/docker-compose.btc-clightning.yml index e919429..601f5a0 100644 --- a/Production/docker-compose.btc-clightning.yml +++ b/Production/docker-compose.btc-clightning.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.btc-ltc-clightning.yml b/Production/docker-compose.btc-ltc-clightning.yml index 73457ef..9e89f7b 100644 --- a/Production/docker-compose.btc-ltc-clightning.yml +++ b/Production/docker-compose.btc-ltc-clightning.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.btc-ltc.yml b/Production/docker-compose.btc-ltc.yml index 298710d..fa5345b 100644 --- a/Production/docker-compose.btc-ltc.yml +++ b/Production/docker-compose.btc-ltc.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.btc.yml b/Production/docker-compose.btc.yml index 2a4e0ce..9088c67 100644 --- a/Production/docker-compose.btc.yml +++ b/Production/docker-compose.btc.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.ltc-clightning.yml b/Production/docker-compose.ltc-clightning.yml index b54776d..932da88 100644 --- a/Production/docker-compose.ltc-clightning.yml +++ b/Production/docker-compose.ltc-clightning.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/Production/docker-compose.ltc.yml b/Production/docker-compose.ltc.yml index 2169dbe..e3be362 100644 --- a/Production/docker-compose.ltc.yml +++ b/Production/docker-compose.ltc.yml @@ -46,7 +46,7 @@ services: - nginx-gen btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: diff --git a/btcpay-setclocale.sh b/btcpay-setclocale.sh new file mode 100755 index 0000000..6934598 --- /dev/null +++ b/btcpay-setclocale.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# This script is meant to change the locale of btcpayserver database deployed in docker +# This change will make sure requests to postgres are properly using indexes when querying on text Primary keys + +set -e + +BTCPAY_CONTAINER_ID=$(docker ps -a -f 'name = _btcpayserver_1' -q) +POSTGRES_CONTAINER_ID=$(docker ps -a -f 'name = _postgres_1' -q) + +DATABASE_NAME=$(docker inspect $BTCPAY_CONTAINER_ID | grep 'BTCPAY_POSTGRES' | sed -rn 's/.*Database=([a-z]+)",/\1/p') +PG_DUMP="docker exec $POSTGRES_CONTAINER_ID pg_dump" +PG_RESTORE="docker exec $POSTGRES_CONTAINER_ID pg_restore" +PSQL="docker exec $POSTGRES_CONTAINER_ID psql -h localhost -p 5432 -U postgres" + +if [[ "$($PSQL -h localhost -p 5432 -U postgres -c "\l $DATABASE_NAME")" != *"en_US.utf8"* ]]; then + echo "Database $DATABASE_NAME already uses locale C" + return +fi + +$PG_DUMP -h localhost -p 5432 -U postgres -F c -b -v -f "/tmp/$DATABASE_NAME.backup" $DATABASE_NAME +$PSQL -c "CREATE DATABASE \"btcpayserver_new\" LC_COLLATE = 'C' TEMPLATE=template0 LC_CTYPE = 'C' ENCODING = 'UTF8'" +$PG_RESTORE -h localhost -p 5432 -U postgres -d btcpayserver_new -v "/tmp/$DATABASE_NAME.backup" +$PSQL -c "SELECT pg_terminate_backend(pid) FROM \"pg_stat_activity\" WHERE datname = '$DATABASE_NAME';" +$PSQL -c "DROP DATABASE \"$DATABASE_NAME\"" +$PSQL -c "ALTER DATABASE \"btcpayserver_new\" RENAME TO \"$DATABASE_NAME\";" + +echo "Database $DATABASE_NAME is now using locale C" diff --git a/docker-compose-generator/docker-fragments/btcpayserver.yml b/docker-compose-generator/docker-fragments/btcpayserver.yml index d0a8293..9a5e27f 100644 --- a/docker-compose-generator/docker-fragments/btcpayserver.yml +++ b/docker-compose-generator/docker-fragments/btcpayserver.yml @@ -4,7 +4,7 @@ services: btcpayserver: restart: unless-stopped - image: nicolasdorier/btcpayserver:1.0.2.31 + image: nicolasdorier/btcpayserver:1.0.2.32 expose: - "49392" environment: