From 6d5d331415c9ee0be2364e5d4b23e6c438558a43 Mon Sep 17 00:00:00 2001 From: Eneko Illarramendi Date: Sat, 2 May 2020 19:56:30 +0200 Subject: [PATCH 1/4] use `LndRestWallet`, without gRPC --- home.admin/config.scripts/bonus.lnbits.sh | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/home.admin/config.scripts/bonus.lnbits.sh b/home.admin/config.scripts/bonus.lnbits.sh index 381b622c0..bf0522b07 100644 --- a/home.admin/config.scripts/bonus.lnbits.sh +++ b/home.admin/config.scripts/bonus.lnbits.sh @@ -1,6 +1,6 @@ #!/bin/bash -# https://github.com/arcbtc/lnbits +# https://github.com/lnbits/lnbits # command info if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then @@ -79,23 +79,25 @@ if [ "$1" = "write-macaroons" ]; then exit 1 fi - # copy macaroons and for lnbits environment + # copy cert and macaroons cert for lnbits environment # set tls.cert path - sudo -u lnbits sed -i "s/^LND_CERT=.*/LND_CERT=\/home\/admin\/.lnd\/tls.cert/g" /home/lnbits/lnbits/.env + sudo -u lnbits sed -i "s/^LND_REST_CERT=.*/LND_REST_CERT=\/home\/admin\/.lnd\/tls.cert/g" /home/lnbits/lnbits/.env # copy macaroons echo "copy macaroons to lnbits user" sudo -u lnbits mkdir -p /home/lnbits/.lnd/data/chain/${network}/${chain}net/ sudo cp /home/bitcoin/.lnd/data/chain/${network}/${chain}net/admin.macaroon /home/lnbits/.lnd/data/chain/${network}/${chain}net/ sudo cp /home/bitcoin/.lnd/data/chain/${network}/${chain}net/invoice.macaroon /home/lnbits/.lnd/data/chain/${network}/${chain}net/ - sudo cp /home/bitcoin/.lnd/data/chain/${network}/${chain}net/readonly.macaroon /home/lnbits/.lnd/data/chain/${network}/${chain}net/ + sudo cp /home/bitcoin/.lnd/data/chain/${network}/${chain}net/readonly.macaroon /home/lnbits/.lnd/data/chain/${network}/${chain}net/ sudo chown lnbits:lnbits -R /home/lnbits/.lnd/data/chain/${network}/${chain}net/*.macaroon sudo chmod 600 /home/lnbits/.lnd/data/chain/${network}/${chain}net/*.macaroon echo "OK DONE" - #set macaroons paths in .env - sudo -u lnbits sed -i "s/^LND_ADMIN_MACAROON=.*/LND_ADMIN_MACAROON=\/home\/lnbits\/.lnd\/data\/chain\/${network}\/${chain}net\/admin.macaroon/g" /home/lnbits/lnbits/.env - sudo -u lnbits sed -i "s/^LND_INVOICE_MACAROON=.*/LND_INVOICE_MACAROON=\/home\/lnbits\/.lnd\/data\/chain\/${network}\/${chain}net\/invoice.macaroon/g" /home/lnbits/lnbits/.env - sudo -u lnbits sed -i "s/^LND_READ_MACAROON=.*/LND_READ_MACAROON=\/home\/lnbits\/.lnd\/data\/chain\/${network}\/${chain}net\/read.macaroon/g" /home/lnbits/lnbits/.env - echo "# OK - macaroons written to /home/lnbits/lnbits/.env" + macaroonAdminHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/admin.macaroon) + macaroonInvoiceHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/invoice.macaroon) + macaroonReadHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/readonly.macaroon) + sudo sed -i "s/^LND_REST_ADMIN_MACAROON=.*/LND_REST_ADMIN_MACAROON=${macaroonAdminHex}/g" /home/admin/lnbits/.env + sudo sed -i "s/^LND_REST_INVOICE_MACAROON=.*/LND_REST_INVOICE_MACAROON=${macaroonInvoiceHex}/g" /home/admin/lnbits/.env + sudo sed -i "s/^LND_REST_READ_MACAROON=.*/LND_REST_READ_MACAROON=${macaroonReadHex}/g" /home/admin/lnbits/.env + echo "# OK - macaroons written to /home/admin/lnbits/.env" exit 0 fi @@ -131,14 +133,13 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then sudo -u lnbits touch /home/lnbits/lnbits/.env sudo bash -c "echo 'FLASK_APP=lnbits' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'FLASK_ENV=production' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LNBITS_BACKEND_WALLET_CLASS=LndWallet' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_GRPC_ENDPOINT=127.0.0.1' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_GRPC_PORT=10009' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LNBITS_FORCE_HTTPS=0' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_CERT=' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_ADMIN_MACAROON=' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_INVOICE_MACAROON=' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_READ_MACAROON=' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LNBITS_BACKEND_WALLET_CLASS=LndRestWallet' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_ENDPOINT=127.0.0.1:8080' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_CERT=' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_ADMIN_MACAROON=' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_INVOICE_MACAROON=' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_READ_MACAROON=' >> /home/lnbits/lnbits/.env" /home/admin/config.scripts/bonus.lnbits.sh write-macaroons # set database path to HDD data so that its survives updates and migrations From df192209cbda0e1b58af0fd19442d2cfecfbf007 Mon Sep 17 00:00:00 2001 From: openoms <43343391+openoms@users.noreply.github.com> Date: Sat, 2 May 2020 19:39:45 +0100 Subject: [PATCH 2/4] lnbits: correct .env in /home/lnbits/lnbits --- home.admin/config.scripts/bonus.lnbits.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home.admin/config.scripts/bonus.lnbits.sh b/home.admin/config.scripts/bonus.lnbits.sh index bf0522b07..f868f518e 100644 --- a/home.admin/config.scripts/bonus.lnbits.sh +++ b/home.admin/config.scripts/bonus.lnbits.sh @@ -94,10 +94,10 @@ if [ "$1" = "write-macaroons" ]; then macaroonAdminHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/admin.macaroon) macaroonInvoiceHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/invoice.macaroon) macaroonReadHex=$(sudo xxd -ps -u -c 1000 /home/lnbits/.lnd/data/chain/${network}/${chain}net/readonly.macaroon) - sudo sed -i "s/^LND_REST_ADMIN_MACAROON=.*/LND_REST_ADMIN_MACAROON=${macaroonAdminHex}/g" /home/admin/lnbits/.env - sudo sed -i "s/^LND_REST_INVOICE_MACAROON=.*/LND_REST_INVOICE_MACAROON=${macaroonInvoiceHex}/g" /home/admin/lnbits/.env - sudo sed -i "s/^LND_REST_READ_MACAROON=.*/LND_REST_READ_MACAROON=${macaroonReadHex}/g" /home/admin/lnbits/.env - echo "# OK - macaroons written to /home/admin/lnbits/.env" + sudo sed -i "s/^LND_REST_ADMIN_MACAROON=.*/LND_REST_ADMIN_MACAROON=${macaroonAdminHex}/g" /home/lnbits/lnbits/.env + sudo sed -i "s/^LND_REST_INVOICE_MACAROON=.*/LND_REST_INVOICE_MACAROON=${macaroonInvoiceHex}/g" /home/lnbits/lnbits/.env + sudo sed -i "s/^LND_REST_READ_MACAROON=.*/LND_REST_READ_MACAROON=${macaroonReadHex}/g" /home/lnbits/lnbits/.env + echo "# OK - macaroons written to /home/lnbits/lnbits/.env" exit 0 fi From 07d4c19df2ff6c6c7a7066825e69c56c1473c349 Mon Sep 17 00:00:00 2001 From: openoms <43343391+openoms@users.noreply.github.com> Date: Sat, 2 May 2020 19:54:57 +0100 Subject: [PATCH 3/4] lnbits: make the REST endpoint HTTPS --- home.admin/config.scripts/bonus.lnbits.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.admin/config.scripts/bonus.lnbits.sh b/home.admin/config.scripts/bonus.lnbits.sh index f868f518e..560489b7f 100644 --- a/home.admin/config.scripts/bonus.lnbits.sh +++ b/home.admin/config.scripts/bonus.lnbits.sh @@ -135,7 +135,7 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then sudo bash -c "echo 'FLASK_ENV=production' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LNBITS_FORCE_HTTPS=0' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LNBITS_BACKEND_WALLET_CLASS=LndRestWallet' >> /home/lnbits/lnbits/.env" - sudo bash -c "echo 'LND_REST_ENDPOINT=127.0.0.1:8080' >> /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LND_REST_ENDPOINT=https://127.0.0.1:8080' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LND_REST_CERT=' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LND_REST_ADMIN_MACAROON=' >> /home/lnbits/lnbits/.env" sudo bash -c "echo 'LND_REST_INVOICE_MACAROON=' >> /home/lnbits/lnbits/.env" From f4c60ae3c397d8584b53256bbae921b8b1c70b92 Mon Sep 17 00:00:00 2001 From: openoms <43343391+openoms@users.noreply.github.com> Date: Sat, 2 May 2020 20:09:31 +0100 Subject: [PATCH 4/4] lnbits: fix LNBITS_DATA_FOLDER entry to .env --- home.admin/config.scripts/bonus.lnbits.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.admin/config.scripts/bonus.lnbits.sh b/home.admin/config.scripts/bonus.lnbits.sh index 560489b7f..63cbf0712 100644 --- a/home.admin/config.scripts/bonus.lnbits.sh +++ b/home.admin/config.scripts/bonus.lnbits.sh @@ -145,7 +145,7 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then # set database path to HDD data so that its survives updates and migrations sudo mkdir /mnt/hdd/app-data/LNBits 2>/dev/null sudo chown lnbits:lnbits -R /mnt/hdd/app-data/LNBits - sudo bash -c "echo 'LNBITS_DATA_FOLDER=/mnt/hdd/app-data/LNBits' >> sudo /home/lnbits/lnbits/.env" + sudo bash -c "echo 'LNBITS_DATA_FOLDER=/mnt/hdd/app-data/LNBits' >> /home/lnbits/lnbits/.env" # to the install echo "# installing application dependencies"