btcpayserver: use new option certfilepath
for lnd
This commit is contained in:
parent
13a835e88f
commit
c88acbb1bb
@ -200,7 +200,7 @@ 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}/${bitcoind.makeNetworkName "Main" "RegTest"}/.cookie";
|
nbExplorerCookie = "${cfg.nbxplorer.dataDir}/${bitcoind.makeNetworkName "Main" "RegTest"}/.cookie";
|
||||||
configFile = builtins.toFile "config" (''
|
configFile = builtins.toFile "btcpayserver-config" (''
|
||||||
network=${bitcoind.network}
|
network=${bitcoind.network}
|
||||||
bind=${cfg.btcpayserver.address}
|
bind=${cfg.btcpayserver.address}
|
||||||
port=${toString cfg.btcpayserver.port}
|
port=${toString cfg.btcpayserver.port}
|
||||||
@ -212,34 +212,27 @@ in {
|
|||||||
rootpath=${cfg.btcpayserver.rootpath}
|
rootpath=${cfg.btcpayserver.rootpath}
|
||||||
'' + optionalString (cfg.btcpayserver.lightningBackend == "clightning") ''
|
'' + optionalString (cfg.btcpayserver.lightningBackend == "clightning") ''
|
||||||
btclightning=type=clightning;server=unix:///${cfg.clightning.dataDir}/${bitcoind.makeNetworkName "bitcoin" "regtest"}/lightning-rpc
|
btclightning=type=clightning;server=unix:///${cfg.clightning.dataDir}/${bitcoind.makeNetworkName "bitcoin" "regtest"}/lightning-rpc
|
||||||
'' + optionalString cfg.btcpayserver.lbtc ''
|
'' + optionalString (cfg.btcpayserver.lightningBackend == "lnd")
|
||||||
|
(
|
||||||
|
"btclightning=type=lnd-rest;" +
|
||||||
|
"server=https://${cfg.lnd.restAddress}:${toString cfg.lnd.restPort}/;" +
|
||||||
|
"macaroonfilepath=/run/lnd/btcpayserver.macaroon;" +
|
||||||
|
"certfilepath=${config.services.lnd.certPath}" +
|
||||||
|
"\n"
|
||||||
|
)
|
||||||
|
+ optionalString cfg.btcpayserver.lbtc ''
|
||||||
chains=btc,lbtc
|
chains=btc,lbtc
|
||||||
lbtcexplorerurl=${nbExplorerUrl}
|
lbtcexplorerurl=${nbExplorerUrl}
|
||||||
lbtcexplorercookiefile=${nbExplorerCookie}
|
lbtcexplorercookiefile=${nbExplorerCookie}
|
||||||
'');
|
'');
|
||||||
lndConfig =
|
|
||||||
"btclightning=type=lnd-rest;" +
|
|
||||||
"server=https://${cfg.lnd.restAddress}:${toString cfg.lnd.restPort}/;" +
|
|
||||||
"macaroonfilepath=/run/lnd/btcpayserver.macaroon;" +
|
|
||||||
"certthumbprint=";
|
|
||||||
in let self = {
|
in let self = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
requires = [ "nbxplorer.service" "postgresql.service" ]
|
requires = [ "nbxplorer.service" "postgresql.service" ]
|
||||||
++ optional (cfg.btcpayserver.lightningBackend != null) "${cfg.btcpayserver.lightningBackend}.service";
|
++ optional (cfg.btcpayserver.lightningBackend != null) "${cfg.btcpayserver.lightningBackend}.service";
|
||||||
after = self.requires;
|
after = self.requires;
|
||||||
preStart = ''
|
|
||||||
install -m 600 ${configFile} '${cfg.btcpayserver.dataDir}/settings.config'
|
|
||||||
${optionalString (cfg.btcpayserver.lightningBackend == "lnd") ''
|
|
||||||
{
|
|
||||||
echo -n "${lndConfig}"
|
|
||||||
${pkgs.openssl}/bin/openssl x509 -noout -fingerprint -sha256 -in ${config.services.lnd.certPath} \
|
|
||||||
| sed -e 's/.*=//;s/://g'
|
|
||||||
} >> '${cfg.btcpayserver.dataDir}/settings.config'
|
|
||||||
''}
|
|
||||||
'';
|
|
||||||
serviceConfig = nbLib.defaultHardening // {
|
serviceConfig = nbLib.defaultHardening // {
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${cfg.btcpayserver.package}/bin/btcpayserver --conf='${cfg.btcpayserver.dataDir}/settings.config' \
|
${cfg.btcpayserver.package}/bin/btcpayserver --conf=${configFile} \
|
||||||
--datadir='${cfg.btcpayserver.dataDir}'
|
--datadir='${cfg.btcpayserver.dataDir}'
|
||||||
'';
|
'';
|
||||||
User = cfg.btcpayserver.user;
|
User = cfg.btcpayserver.user;
|
||||||
|
Loading…
Reference in New Issue
Block a user