From c8006638b27df76b8598658600942f88e4d580ce Mon Sep 17 00:00:00 2001 From: Patrick Mulligan Date: Sun, 15 Feb 2026 14:35:57 -0500 Subject: [PATCH] refactor(docker): simplify lndconnect to use docker exec only Remove filesystem fallback with sudo - just read certs from container. Co-Authored-By: Claude Opus 4.5 --- docker/dev.sh | 30 +++++++----------------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/docker/dev.sh b/docker/dev.sh index 8244b52..6b728be 100755 --- a/docker/dev.sh +++ b/docker/dev.sh @@ -258,34 +258,18 @@ setup_atm_app() { ############################################################################# generate_lndconnect() { - local lnd_data="$REGTEST_DIR/data/lnd-3" local local_ip=$(get_local_ip) local rest_port=8082 - local cert_path="$lnd_data/tls.cert" - local mac_path="$lnd_data/data/chain/bitcoin/regtest/admin.macaroon" + # Read certs directly from lnd-3 container (host files are root-owned) + local cert_b64=$(docker exec lnbits-lnd-3-1 base64 -w0 /root/.lnd/tls.cert 2>/dev/null | tr '+/' '-_' | tr -d '=') + local mac_b64=$(docker exec lnbits-lnd-3-1 base64 -w0 /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon 2>/dev/null | tr '+/' '-_' | tr -d '=') - # Check if files exist and are readable - if [[ ! -r "$cert_path" ]]; then - # Try reading cert via docker - local cert_b64=$(docker exec lnbits-lnd-3-1 base64 -w0 /root/.lnd/tls.cert 2>/dev/null | tr '+/' '-_' | tr -d '=') - local mac_b64=$(docker exec lnbits-lnd-3-1 base64 -w0 /root/.lnd/data/chain/bitcoin/regtest/admin.macaroon 2>/dev/null | tr '+/' '-_' | tr -d '=') - - if [[ -n "$cert_b64" ]] && [[ -n "$mac_b64" ]]; then - echo "lndconnect://${local_ip}:${rest_port}?cert=${cert_b64}&macaroon=${mac_b64}" - return 0 - fi - return 1 + if [[ -n "$cert_b64" ]] && [[ -n "$mac_b64" ]]; then + echo "lndconnect://${local_ip}:${rest_port}?cert=${cert_b64}&macaroon=${mac_b64}" + return 0 fi - - local cert_b64=$(base64 -w0 "$cert_path" | tr '+/' '-_' | tr -d '=') - local mac_b64=$(sudo base64 -w0 "$mac_path" 2>/dev/null | tr '+/' '-_' | tr -d '=') - - if [[ -z "$mac_b64" ]]; then - return 1 - fi - - echo "lndconnect://${local_ip}:${rest_port}?cert=${cert_b64}&macaroon=${mac_b64}" + return 1 } #############################################################################