Merge pull request #415 from naturallaw777/copilot/fix-btcpay-runtime-regressions
fix(btcpay): NBXplorer cookie auth and WorkingDirectory for wwwroot
This commit is contained in:
@@ -246,6 +246,8 @@ in {
|
|||||||
|
|
||||||
systemd.services.btcpayserver = let
|
systemd.services.btcpayserver = let
|
||||||
nbExplorerUrl = "http://${nbLib.addressWithPort cfg.nbxplorer.address cfg.nbxplorer.port}/";
|
nbExplorerUrl = "http://${nbLib.addressWithPort cfg.nbxplorer.address cfg.nbxplorer.port}/";
|
||||||
|
nbExplorerCookie =
|
||||||
|
"${cfg.nbxplorer.dataDir}/${cfg.bitcoind.makeNetworkName "Main" "RegTest"}/.cookie";
|
||||||
configFile = builtins.toFile "btcpayserver-config" (
|
configFile = builtins.toFile "btcpayserver-config" (
|
||||||
''
|
''
|
||||||
network=${cfg.bitcoind.network}
|
network=${cfg.bitcoind.network}
|
||||||
@@ -253,6 +255,7 @@ in {
|
|||||||
port=${toString cfg.btcpayserver.port}
|
port=${toString cfg.btcpayserver.port}
|
||||||
socksendpoint=${config.nix-bitcoin.torClientAddressWithPort}
|
socksendpoint=${config.nix-bitcoin.torClientAddressWithPort}
|
||||||
btcexplorerurl=${nbExplorerUrl}
|
btcexplorerurl=${nbExplorerUrl}
|
||||||
|
btcexplorercookiefile=${nbExplorerCookie}
|
||||||
explorer.postgres=User ID=${cfg.nbxplorer.user};Host=/run/postgresql;Database=nbxplorer
|
explorer.postgres=User ID=${cfg.nbxplorer.user};Host=/run/postgresql;Database=nbxplorer
|
||||||
postgres=User ID=${cfg.btcpayserver.user};Host=/run/postgresql;Database=btcpayserver
|
postgres=User ID=${cfg.btcpayserver.user};Host=/run/postgresql;Database=btcpayserver
|
||||||
'' + optionalString (cfg.btcpayserver.lightningBackend == "lnd")
|
'' + optionalString (cfg.btcpayserver.lightningBackend == "lnd")
|
||||||
@@ -273,6 +276,7 @@ in {
|
|||||||
${cfg.btcpayserver.package}/bin/btcpayserver --conf=${configFile} \
|
${cfg.btcpayserver.package}/bin/btcpayserver --conf=${configFile} \
|
||||||
--datadir='${cfg.btcpayserver.dataDir}'
|
--datadir='${cfg.btcpayserver.dataDir}'
|
||||||
'';
|
'';
|
||||||
|
WorkingDirectory = "${cfg.btcpayserver.package}/lib/btcpayserver";
|
||||||
RuntimeDirectory = "btcpayserver";
|
RuntimeDirectory = "btcpayserver";
|
||||||
StateDirectory = "btcpayserver";
|
StateDirectory = "btcpayserver";
|
||||||
User = cfg.btcpayserver.user;
|
User = cfg.btcpayserver.user;
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ let
|
|||||||
nbxplorerPreStart = config.systemd.services.nbxplorer.preStart;
|
nbxplorerPreStart = config.systemd.services.nbxplorer.preStart;
|
||||||
bitcoindPreStart = config.systemd.services.bitcoind.preStart;
|
bitcoindPreStart = config.systemd.services.bitcoind.preStart;
|
||||||
btcpayExecStart = config.systemd.services.btcpayserver.serviceConfig.ExecStart;
|
btcpayExecStart = config.systemd.services.btcpayserver.serviceConfig.ExecStart;
|
||||||
|
btcpayWorkingDir = config.systemd.services.btcpayserver.serviceConfig.WorkingDirectory;
|
||||||
|
|
||||||
nbxplorerConfigPath = extractAfter "install -m 600" nbxplorerPreStart;
|
nbxplorerConfigPath = extractAfter "install -m 600" nbxplorerPreStart;
|
||||||
btcpayConfigPath = extractFlagValue "--conf" btcpayExecStart;
|
btcpayConfigPath = extractFlagValue "--conf" btcpayExecStart;
|
||||||
@@ -92,6 +93,13 @@ assert lib.assertMsg
|
|||||||
&& lib.hasInfix "port=24444" nbxplorerConfig
|
&& lib.hasInfix "port=24444" nbxplorerConfig
|
||||||
&& lib.hasInfix "postgres=User ID=nbxplorer;Host=/run/postgresql;Database=nbxplorer" nbxplorerConfig)
|
&& lib.hasInfix "postgres=User ID=nbxplorer;Host=/run/postgresql;Database=nbxplorer" nbxplorerConfig)
|
||||||
"nbxplorer base config must contain the expected non-secret settings";
|
"nbxplorer base config must contain the expected non-secret settings";
|
||||||
|
assert lib.assertMsg
|
||||||
|
(lib.hasInfix "btcexplorerurl=http://127.0.0.1:24444/" btcpayConfig
|
||||||
|
&& lib.hasInfix "btcexplorercookiefile=/build/nbxplorer/Main/.cookie" btcpayConfig)
|
||||||
|
"btcpayserver config must contain btcexplorerurl and btcexplorercookiefile";
|
||||||
|
assert lib.assertMsg
|
||||||
|
(lib.hasSuffix "/lib/btcpayserver" btcpayWorkingDir)
|
||||||
|
"btcpayserver WorkingDirectory must end with /lib/btcpayserver";
|
||||||
assert lib.assertMsg
|
assert lib.assertMsg
|
||||||
(!lib.hasInfix "/build/btcpayserver/settings.config" btcpayExecStart
|
(!lib.hasInfix "/build/btcpayserver/settings.config" btcpayExecStart
|
||||||
&& lib.hasInfix "--datadir='/build/btcpayserver'" btcpayExecStart)
|
&& lib.hasInfix "--datadir='/build/btcpayserver'" btcpayExecStart)
|
||||||
|
|||||||
Reference in New Issue
Block a user