added lndconnet

This commit is contained in:
2026-04-02 16:03:55 -05:00
parent 195f616ca8
commit 13f38f6254
2 changed files with 49 additions and 3 deletions

View File

@@ -43,6 +43,10 @@ let
{ label = "URL"; file = "/var/lib/domains/btcpayserver"; prefix = "https://"; } { label = "URL"; file = "/var/lib/domains/btcpayserver"; prefix = "https://"; }
{ label = "Note"; value = "Create your admin account on first visit"; } { label = "Note"; value = "Create your admin account on first visit"; }
]; } ]; }
{ name = "Zeus Connect"; unit = "zeus-connect-setup.service"; type = "system"; icon = "zeus"; enabled = cfg.services.bitcoin; category = "bitcoin-apps"; credentials = [
{ label = "Connection URL"; file = "/var/lib/secrets/zeus-connect-url"; }
{ label = "How to Connect"; value = "1. Download Zeus from App Store or Google Play\n2. Open Zeus Scan Node Config\n3. Copy and paste the Connection URL above"; }
]; }
{ name = "Mempool"; unit = "mempool.service"; type = "system"; icon = "mempool"; enabled = cfg.features.mempool; category = "bitcoin-apps"; credentials = [ { name = "Mempool"; unit = "mempool.service"; type = "system"; icon = "mempool"; enabled = cfg.features.mempool; category = "bitcoin-apps"; credentials = [
{ label = "Tor Access"; file = "/var/lib/tor/onion/mempool-frontend/hostname"; prefix = "http://"; } { label = "Tor Access"; file = "/var/lib/tor/onion/mempool-frontend/hostname"; prefix = "http://"; }
{ label = "Local Network"; file = "/var/lib/secrets/internal-ip"; prefix = "http://"; suffix = ":60847"; } { label = "Local Network"; file = "/var/lib/secrets/internal-ip"; prefix = "http://"; suffix = ":60847"; }

View File

@@ -68,7 +68,7 @@ in
echo " " echo " "
echo " 'passwd free' only updates /etc/shadow. " echo " 'passwd free' only updates /etc/shadow. "
echo " The Hub and Magic Keys PDF will NOT be updated. " echo " The Hub and Magic Keys PDF will NOT be updated. "
echo "<EFBFBD><EFBFBD>" echo "<EFBFBD><EFBFBD>"
echo "" echo ""
return 1 return 1
end end
@@ -116,6 +116,47 @@ in
''; '';
}; };
# ── 1c. Save Zeus/lndconnect URL for hub credentials ────────
systemd.services.zeus-connect-setup = {
description = "Save Zeus lndconnect URL";
wantedBy = [ "multi-user.target" ];
after = [ "lnd.service" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
path = [ pkgs.coreutils "/run/current-system/sw" ];
script = ''
SECRET_FILE="/var/lib/secrets/zeus-connect-url"
mkdir -p /var/lib/secrets
URL=""
if command -v lndconnect >/dev/null 2>&1; then
URL=$(lndconnect --url 2>/dev/null || true)
elif command -v lnconnect-clnrest >/dev/null 2>&1; then
URL=$(lnconnect-clnrest --url 2>/dev/null || true)
fi
if [ -n "$URL" ]; then
echo "$URL" > "$SECRET_FILE"
chmod 600 "$SECRET_FILE"
echo "Zeus connect URL saved."
else
echo "No lndconnect URL available yet."
fi
'';
};
# ── Refresh Zeus URL periodically (certs/macaroons may rotate)
systemd.timers.zeus-connect-setup = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "2min";
OnUnitActiveSec = "30min";
Unit = "zeus-connect-setup.service";
};
};
# ── 2. Timer: Check every 5 minutes ──────────────────────── # ── 2. Timer: Check every 5 minutes ────────────────────────
systemd.timers.generate-credentials-pdf = { systemd.timers.generate-credentials-pdf = {
description = "Periodically check if Magic Keys PDF needs regenerating"; description = "Periodically check if Magic Keys PDF needs regenerating";
@@ -172,7 +213,8 @@ in
/var/lib/secrets/wordpress-admin \ /var/lib/secrets/wordpress-admin \
/var/lib/secrets/vaultwarden/vaultwarden.env \ /var/lib/secrets/vaultwarden/vaultwarden.env \
/var/lib/domains/vaultwarden \ /var/lib/domains/vaultwarden \
/var/lib/domains/btcpayserver; do /var/lib/domains/btcpayserver \
/var/lib/secrets/zeus-connect-url; do
if [ -f "$f" ]; then if [ -f "$f" ]; then
SECRET_SOURCES="$SECRET_SOURCES$(cat "$f")" SECRET_SOURCES="$SECRET_SOURCES$(cat "$f")"
fi fi