joinmarket: use preStart, postStart
This commit is contained in:
parent
e2c6eb6681
commit
881a3aa004
|
@ -231,24 +231,21 @@ in {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
requires = [ "bitcoind.service" ];
|
requires = [ "bitcoind.service" ];
|
||||||
after = [ "bitcoind.service" ];
|
after = [ "bitcoind.service" ];
|
||||||
serviceConfig = nbLib.defaultHardening // {
|
preStart = ''
|
||||||
ExecStartPre = nbLib.script "joinmarket-create-config" ''
|
|
||||||
install -o '${cfg.user}' -g '${cfg.group}' -m 640 ${configFile} ${cfg.dataDir}/joinmarket.cfg
|
install -o '${cfg.user}' -g '${cfg.group}' -m 640 ${configFile} ${cfg.dataDir}/joinmarket.cfg
|
||||||
sed -i \
|
sed -i \
|
||||||
"s|@@RPC_PASSWORD@@|rpc_password = $(cat ${secretsDir}/bitcoin-rpcpassword-privileged)|" \
|
"s|@@RPC_PASSWORD@@|rpc_password = $(cat ${secretsDir}/bitcoin-rpcpassword-privileged)|" \
|
||||||
'${cfg.dataDir}/joinmarket.cfg'
|
'${cfg.dataDir}/joinmarket.cfg'
|
||||||
'';
|
'';
|
||||||
# Generating wallets (jmclient/wallet.py) is only supported for mainnet or testnet
|
# Generating wallets (jmclient/wallet.py) is only supported for mainnet or testnet
|
||||||
ExecStartPost = mkIf (bitcoind.network == "mainnet")
|
postStart = mkIf (bitcoind.network == "mainnet") ''
|
||||||
(nbLib.script "joinmarket-create-wallet" ''
|
|
||||||
walletname=wallet.jmdat
|
walletname=wallet.jmdat
|
||||||
wallet=${cfg.dataDir}/wallets/$walletname
|
wallet=${cfg.dataDir}/wallets/$walletname
|
||||||
if [[ ! -f $wallet ]]; then
|
if [[ ! -f $wallet ]]; then
|
||||||
${optionalString (cfg.rpcWalletFile != null) ''
|
${optionalString (cfg.rpcWalletFile != null) ''
|
||||||
echo "Create watch-only wallet ${cfg.rpcWalletFile}"
|
echo "Create watch-only wallet ${cfg.rpcWalletFile}"
|
||||||
${bitcoind.cli}/bin/bitcoin-cli -named createwallet \
|
${bitcoind.cli}/bin/bitcoin-cli -named createwallet \
|
||||||
wallet_name="${cfg.rpcWalletFile}" \
|
wallet_name="${cfg.rpcWalletFile}" disable_private_keys=true
|
||||||
disable_private_keys=true
|
|
||||||
''}
|
''}
|
||||||
pw=$(cat "${secretsDir}"/jm-wallet-password)
|
pw=$(cat "${secretsDir}"/jm-wallet-password)
|
||||||
cd ${cfg.dataDir}
|
cd ${cfg.dataDir}
|
||||||
|
@ -261,7 +258,8 @@ in {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
'');
|
'';
|
||||||
|
serviceConfig = nbLib.defaultHardening // {
|
||||||
ExecStart = "${nbPkgs.joinmarket}/bin/joinmarketd";
|
ExecStart = "${nbPkgs.joinmarket}/bin/joinmarketd";
|
||||||
WorkingDirectory = cfg.dataDir; # The service creates 'commitmentlist' in the working dir
|
WorkingDirectory = cfg.dataDir; # The service creates 'commitmentlist' in the working dir
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user