What changed, and why it matters
This commit updates test-only Docker configuration files. It upgrades the PostgreSQL database image used in automated testing from version 13.13 to 18.1, fixes indentation, and adds a persistent data volume for the test database. These files are part of the project's internal test harness and are not used in production deployments. There is no direct security fix or vulnerability being patched here.
No immediate security action required. Treat as routine test infrastructure maintenance. If deploying BTCPay Server in production, verify that production PostgreSQL configurations do not use POSTGRES_HOST_AUTH_METHOD=trust and follow current hardening guidance. Review whether the PostgreSQL 18.1 image bump requires corresponding test code or migration adjustments.
Security signals we found
PostgreSQL major version upgrade in test containers (13 -> 18)
Persistent test database volume added
POSTGRES_HOST_AUTH_METHOD: trust remains in test-only compose files
Evidence from the diff
The diff modifies three docker-compose files under BTCPayServer.Tests (altcoins, mutinynet, testnet). Changes: (1) postgres image bumped from postgres:13.13 to postgres:18.1, (2) environment indentation normalized, (3) a named volume postgres_test_datadir mounted at /var/lib/postgresql added, and (4) the volume declared in the top-level volumes section. POSTGRES_HOST_AUTH_METHOD: trust remains, which is insecure for production but unchanged by this commit and limited to test environments. No application code, authentication logic, or production deployment templates are touched.
Changed components
BTCPayServer.Tests/docker-compose.altcoins.ymlBTCPayServer.Tests/docker-compose.mutinynet.ymlBTCPayServer.Tests/docker-compose.testnet.ymlInspect captured patch +15 / −6
diff --git a/BTCPayServer.Tests/docker-compose.altcoins.yml b/BTCPayServer.Tests/docker-compose.altcoins.yml
index 17b1df5..654455a 100644
--- a/BTCPayServer.Tests/docker-compose.altcoins.yml
+++ b/BTCPayServer.Tests/docker-compose.altcoins.yml
@@ -237,13 +237,15 @@ services:
- bitcoind
postgres:
- image: postgres:13.13
+ image: postgres:18.1
environment:
- POSTGRES_HOST_AUTH_METHOD: trust
+ POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "39372:5432"
expose:
- "5432"
+ volumes:
+ - "postgres_test_datadir:/var/lib/postgresql"
merchant_lnd:
image: btcpayserver/lnd:v0.19.3-beta
@@ -393,6 +395,7 @@ volumes:
lightning_charge_datadir:
customer_lnd_datadir:
merchant_lnd_datadir:
+ postgres_test_datadir:
tor_datadir:
torrcdir:
tor_servicesdir:
diff --git a/BTCPayServer.Tests/docker-compose.mutinynet.yml b/BTCPayServer.Tests/docker-compose.mutinynet.yml
index bb53d0c..9a7bd39 100644
--- a/BTCPayServer.Tests/docker-compose.mutinynet.yml
+++ b/BTCPayServer.Tests/docker-compose.mutinynet.yml
@@ -178,13 +178,15 @@ services:
- bitcoind
postgres:
- image: postgres:13.13
+ image: postgres:18.1
environment:
- POSTGRES_HOST_AUTH_METHOD: trust
+ POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "39372:5432"
expose:
- "5432"
+ volumes:
+ - "postgres_test_datadir:/var/lib/postgresql"
merchant_lnd:
image: btcpayserver/lnd:v0.19.3-beta
@@ -284,6 +286,7 @@ volumes:
lightning_charge_datadir:
customer_lnd_datadir:
merchant_lnd_datadir:
+ postgres_test_datadir:
tor_datadir:
torrcdir:
tor_servicesdir:
diff --git a/BTCPayServer.Tests/docker-compose.testnet.yml b/BTCPayServer.Tests/docker-compose.testnet.yml
index af0aaad..44e4094 100644
--- a/BTCPayServer.Tests/docker-compose.testnet.yml
+++ b/BTCPayServer.Tests/docker-compose.testnet.yml
@@ -168,13 +168,15 @@ services:
- bitcoind
postgres:
- image: postgres:13.13
+ image: postgres:18.1
environment:
- POSTGRES_HOST_AUTH_METHOD: trust
+ POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "39372:5432"
expose:
- "5432"
+ volumes:
+ - "postgres_test_datadir:/var/lib/postgresql"
merchant_lnd:
image: btcpayserver/lnd:v0.19.3-beta
@@ -274,6 +276,7 @@ volumes:
lightning_charge_datadir:
customer_lnd_datadir:
merchant_lnd_datadir:
+ postgres_test_datadir:
tor_datadir:
torrcdir:
tor_servicesdir:
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.