Merge pull request #4184 from raspiblitz/dev

merge v1.10.0rc6 fixes
This commit is contained in:
/rootzoll 2023-09-21 22:45:47 +02:00 committed by GitHub
commit 3975454887
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 107 additions and 97 deletions

View File

@ -3,7 +3,7 @@
- Update: RaspiOS base image from 2023-05-03 - Update: RaspiOS base image from 2023-05-03
- Update: Bitcoin Core v25.0.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-25.0.md) - Update: Bitcoin Core v25.0.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-25.0.md)
- Update: LND v0.16.4-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.16.4-beta) - Update: LND v0.16.4-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.16.4-beta)
- Update: Core Lightning v23.08 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.08) - Update: Core Lightning v23.08.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.08.1)
- Update: Suez - Channel Visualization for LND & CLN [details](https://github.com/prusnak/suez) - Update: Suez - Channel Visualization for LND & CLN [details](https://github.com/prusnak/suez)
- Update: Electrum Server in Rust (electrs) v0.10.0 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-jul-22-2023) - Update: Electrum Server in Rust (electrs) v0.10.0 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-jul-22-2023)
- Update: C-lightningREST v0.10.5 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.5) - Update: C-lightningREST v0.10.5 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.5)
@ -16,8 +16,14 @@
- Update: BTCPayServer 1.10.3 (postgres by default with sqlite migration) [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.10.3) - Update: BTCPayServer 1.10.3 (postgres by default with sqlite migration) [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.10.3)
- Update: Specter Desktop 1.13.1 [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v1.13.1) - Update: Specter Desktop 1.13.1 [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v1.13.1)
- Update: Kindle-Display 0.5.1 [details](https://github.com/dennisreimann/kindle-display/) - Update: Kindle-Display 0.5.1 [details](https://github.com/dennisreimann/kindle-display/)
- Update: JoinMarket v0.9.10 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.10)
- Update: JoininBox v0.8.1 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.1)
- Update: Balance of Satoshis 15.11.0 (bos) [details](https://github.com/alexbosworth/balanceofsatoshis/blob/master/CHANGELOG.md#15110)
- Fix: Homebanking Interface FinTS/HBCI (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1186) - Fix: Homebanking Interface FinTS/HBCI (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1186)
- Remove: Spark Wallet and Sparko CLN plugin (not maintained anymore) - Remove: Spark Wallet and Sparko CLN plugin (not maintained anymore)
- Remove: Faraday, Loop, Pool single installs - used in the LiT package instead
- Remove: deactivate LNproxy in the menu and in provision
- Info: the users not intended to be logged in will not be available to change into (manage them from admin with sudo)
## What's new in Version 1.9.0 of RaspiBlitz? ## What's new in Version 1.9.0 of RaspiBlitz?

View File

@ -2,12 +2,12 @@
Everybody is welcome to join, improve, and extend the RaspiBlitz - it's a work in progress. Check the issues if you wanna help out or add new ideas. You can find the scripts used for RaspiBlitz interactions on the device at /home/admin or in this Git repo's subfolder home.admin. Everybody is welcome to join, improve, and extend the RaspiBlitz - it's a work in progress. Check the issues if you wanna help out or add new ideas. You can find the scripts used for RaspiBlitz interactions on the device at /home/admin or in this Git repo's subfolder home.admin.
## Understanding Blitz project ## Understanding Blitz project
RaspiBlitz is insipired by the [RaspiBolt guide](https://raspibolt.github.io/raspibolt/). Tutorial on how to build a lightning node on the RaspberryPi. So much thx to Stadicus :) RaspiBlitz is inspired by the [RaspiBolt guide](https://raspibolt.github.io/raspibolt/). Tutorial on how to build a lightning node on the RaspberryPi. So much thx to Stadicus :)
To start your Deep Dive into the RaspiBlitz project, watch [this video](https://www.youtube.com/watch?v=QXUGg45CWLo). To start your Deep Dive into the RaspiBlitz project, watch [this video](https://www.youtube.com/watch?v=QXUGg45CWLo).
### Blitz philosophy ### Blitz philosophy
* DIY community development, if you are unhappy with the code, fork and pull request, this will make you you DYOR instead of depending on the developers. * DIY community development, if you are unhappy with the code, fork and pull request, this will make you DYOR instead of depending on the developers.
* If you ask when the next release will be available, we don't know, but if you contribute, it might be faster. * If you ask when the next release will be available, we don't know, but if you contribute, it might be faster.
* Be sure to contribute back, every little help is wanted. * Be sure to contribute back, every little help is wanted.
@ -49,7 +49,7 @@ and is also an effective way to request assistance if and when you need it.
1. Make sure it is compatible with Blitz philosophy. 1. Make sure it is compatible with Blitz philosophy.
1. Fork the repo 1. Fork the repo
1. Commit changes on the new branch 1. Commit changes on the new branch
1. Open a pull request (PR are made to the `dev` branch unless indicated otherwise by a collaborator. 1. Open a pull request (PRs are made to the `dev` branch unless indicated otherwise by a collaborator.
#### Review #### Review

View File

@ -377,6 +377,11 @@ else
exit 1 exit 1
fi fi
# remove any debian python protection from pip installing modules
if [ -f rm /usr/lib/python3.*/EXTERNALLY-MANAGED ]; then
rm /usr/lib/python3.*/EXTERNALLY-MANAGED
fi
# make sure /usr/bin/pip exists (and calls pip3 in Debian Buster) # make sure /usr/bin/pip exists (and calls pip3 in Debian Buster)
update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
# 1. libs (for global python scripts) # 1. libs (for global python scripts)
@ -394,7 +399,9 @@ echo -e "\n*** PREPARE ${baseimage} ***"
# make sure the pi user is present # make sure the pi user is present
if [ "$(compgen -u | grep -c pi)" -eq 0 ];then if [ "$(compgen -u | grep -c pi)" -eq 0 ];then
echo "# Adding the user pi" echo "# Adding the user pi"
adduser --system --group --home /home/pi pi adduser --system --group --shell /bin/bash --home /home/pi pi
# copy the skeleton files for login
sudo -u pi cp -r /etc/skel/. /home/pi/
adduser pi sudo adduser pi sudo
fi fi
@ -500,6 +507,9 @@ echo "# Optimizing log files: rotate daily max 100M, keep 4 days & compress old"
sed -i "s/^weekly/daily size 100M/g" /etc/logrotate.conf sed -i "s/^weekly/daily size 100M/g" /etc/logrotate.conf
sed -i "s/^#compress/compress/g" /etc/logrotate.conf sed -i "s/^#compress/compress/g" /etc/logrotate.conf
# add the option "copytruncate" to /etc/logrotate.conf below the line staring with "# global options do"
sed -i '/# global options do/a \copytruncate' /etc/logrotate.conf
# SPECIAL FOR SYSLOG: /etc/logrotate.d/rsyslog # SPECIAL FOR SYSLOG: /etc/logrotate.d/rsyslog
# to test config run: sudo logrotate -v /etc/logrotate.d/rsyslog # to test config run: sudo logrotate -v /etc/logrotate.d/rsyslog
rm /etc/logrotate.d/rsyslog 2>/dev/null rm /etc/logrotate.d/rsyslog 2>/dev/null
@ -523,6 +533,7 @@ echo "
missingok missingok
compress compress
delaycompress delaycompress
copytruncate
sharedscripts sharedscripts
postrotate postrotate
service logrotate restart service logrotate restart
@ -537,7 +548,9 @@ service rsyslog restart
echo -e "\n*** ADDING MAIN USER admin ***" echo -e "\n*** ADDING MAIN USER admin ***"
# based on https://raspibolt.org/system-configuration.html#add-users # based on https://raspibolt.org/system-configuration.html#add-users
# using the default password 'raspiblitz' # using the default password 'raspiblitz'
adduser --system --group --home /home/admin admin adduser --system --group --shell /bin/bash --home /home/admin admin
# copy the skeleton files for login
sudo -u admin cp -r /etc/skel/. /home/admin/
echo "admin:raspiblitz" | chpasswd echo "admin:raspiblitz" | chpasswd
adduser admin sudo adduser admin sudo
chsh admin -s /bin/bash chsh admin -s /bin/bash
@ -555,7 +568,9 @@ fi
echo -e "\n*** ADDING SERVICE USER bitcoin" echo -e "\n*** ADDING SERVICE USER bitcoin"
# based on https://raspibolt.org/guide/raspberry-pi/system-configuration.html # based on https://raspibolt.org/guide/raspberry-pi/system-configuration.html
# create user and set default password for user # create user and set default password for user
adduser --system --group --home /home/bitcoin bitcoin adduser --system --group --shell /bin/bash --home /home/bitcoin bitcoin
# copy the skeleton files for login
sudo -u bitcoin cp -r /etc/skel/. /home/bitcoin/
echo "bitcoin:raspiblitz" | chpasswd echo "bitcoin:raspiblitz" | chpasswd
# make home directory readable # make home directory readable
chmod 755 /home/bitcoin chmod 755 /home/bitcoin

View File

@ -38,8 +38,12 @@
* Find the latest successful build of the default amd64 image: * Find the latest successful build of the default amd64 image:
https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?query=workflow%3Aamd64-lean-image-build+branch%3Adev+is%3Asuccess++ https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?query=workflow%3Aamd64-lean-image-build+branch%3Adev+is%3Asuccess++
``` ```
# unzip to the same directory # unpack the artifact to the same directory
unzip ./raspiblitz-amd64-image-*.zip unzip ./raspiblitz-amd64-image-*.zip
# unpack the image
gzip -dkv raspiblitz-amd64-debian-lean.qcow2.gz
# install qemu-utils
sudo apt install -y qemu-utils
``` ```
## Write the image to a disk connected with USB ## Write the image to a disk connected with USB
### Option 1 - requires less disk space ### Option 1 - requires less disk space
@ -47,7 +51,6 @@ https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?qu
* the .qcow2 volume is 8.1 GB * the .qcow2 volume is 8.1 GB
* identify the connected disk with `lsblk` e.g., `/dev/sdk` * identify the connected disk with `lsblk` e.g., `/dev/sdk`
``` ```
sudo apt install -y qemu-utils
disk="/dev/sdk" disk="/dev/sdk"
sudo qemu-img dd if=./raspiblitz-amd64-debian-lean.qcow2 of=${disk} bs=4M sudo qemu-img dd if=./raspiblitz-amd64-debian-lean.qcow2 of=${disk} bs=4M
``` ```
@ -55,10 +58,6 @@ https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?qu
#### Convert the .qcow2 volume to a raw disk image #### Convert the .qcow2 volume to a raw disk image
* the raw .img is 30GB * the raw .img is 30GB
``` ```
# unzip
gzip -dkv raspiblitz-amd64-debian-lean.qcow2.gz
# install qemu-utils
sudo apt install -y qemu-utils
# convert # convert
qemu-img convert ./raspiblitz-amd64-debian-lean.qcow2 ./raspiblitz-amd64-debian-lean.img qemu-img convert ./raspiblitz-amd64-debian-lean.qcow2 ./raspiblitz-amd64-debian-lean.img
``` ```
@ -77,9 +76,7 @@ https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?qu
* username: `admin` * username: `admin`
* password: `raspiblitz` * password: `raspiblitz`
* start a terminal for guidance * start a terminal for guidance
* alternatively connect with ssh over the LAN * alternatively connect with ssh over the LAN with the same username and password
* username: `admin`
* password: `raspiblitz`
### Extend the root partition (optional - recommended) ### Extend the root partition (optional - recommended)
* The default image is 30GB. The partition can be extended to the full size of the disk. * The default image is 30GB. The partition can be extended to the full size of the disk.
@ -172,7 +169,7 @@ with the [Makefile](https://github.com/rootzoll/raspiblitz/blob/dev/Makefile)
* libvirt / virsh / virt-manager (https://virt-manager.org/) * libvirt / virsh / virt-manager (https://virt-manager.org/)
* written to disk and booted with legacy boot (non-UEFI / CSM mode) * written to disk and booted with legacy boot (non-UEFI / CSM mode)
``` ```
amd64-lean-server-legacyboot-image make amd64-lean-server-legacyboot-image
``` ```
## Notes for the lean server image without Gnome desktop ## Notes for the lean server image without Gnome desktop

View File

@ -1,5 +1,7 @@
#!/bin/bash -e #!/bin/bash -e
sudo apt-get update
# install packer # install packer
if ! packer version 2>/dev/null; then if ! packer version 2>/dev/null; then
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
@ -11,8 +13,11 @@ else
echo "# Packer is installed" echo "# Packer is installed"
fi fi
# install qemu # install qemu
echo -e "\nInstalling qemu..." echo "# Install qemu ..."
sudo apt-get update
sudo apt-get install -y qemu-system sudo apt-get install -y qemu-system
# set vars # set vars
@ -20,7 +25,7 @@ source ../set_variables.sh
set_variables "$@" set_variables "$@"
# Build the image # Build the image
echo -e "\nBuilding the image..." echo "# Build the image ..."
cd debian cd debian
packer init -upgrade . packer init -upgrade .
command="PACKER_LOG=1 packer build ${vars} -only=qemu packer.build.amd64-debian.hcl" command="PACKER_LOG=1 packer build ${vars} -only=qemu packer.build.amd64-debian.hcl"

View File

@ -126,9 +126,9 @@ fi
if [ "${bos}" == "on" ]; then if [ "${bos}" == "on" ]; then
OPTIONS+=(BOS "Balance of Satoshis") OPTIONS+=(BOS "Balance of Satoshis")
fi fi
if [ "${lnproxy}" == "on" ]; then #if [ "${lnproxy}" == "on" ]; then
OPTIONS+=(LNPROXY "lnproxy server") # OPTIONS+=(LNPROXY "lnproxy server")
fi #fi
if [ "${pyblock}" == "on" ]; then if [ "${pyblock}" == "on" ]; then
OPTIONS+=(PYBLOCK "PyBlock") OPTIONS+=(PYBLOCK "PyBlock")
fi fi
@ -281,9 +281,6 @@ case $CHOICE in
LIGHTNINGTIPBOT) LIGHTNINGTIPBOT)
/home/admin/config.scripts/bonus.lightningtipbot.sh menu /home/admin/config.scripts/bonus.lightningtipbot.sh menu
;; ;;
LOOP)
/home/admin/config.scripts/bonus.loop.sh menu
;;
MEMPOOL) MEMPOOL)
/home/admin/config.scripts/bonus.mempool.sh menu /home/admin/config.scripts/bonus.mempool.sh menu
;; ;;
@ -296,9 +293,6 @@ case $CHOICE in
JAM) JAM)
/home/admin/config.scripts/bonus.jam.sh menu /home/admin/config.scripts/bonus.jam.sh menu
;; ;;
FARADAY)
sudo /home/admin/config.scripts/bonus.faraday.sh menu
;;
BOS) BOS)
sudo /home/admin/config.scripts/bonus.bos.sh menu sudo /home/admin/config.scripts/bonus.bos.sh menu
;; ;;
@ -317,9 +311,6 @@ case $CHOICE in
ZEROTIER) ZEROTIER)
sudo /home/admin/config.scripts/bonus.zerotier.sh menu sudo /home/admin/config.scripts/bonus.zerotier.sh menu
;; ;;
POOL)
sudo /home/admin/config.scripts/bonus.pool.sh menu
;;
SPHINX) SPHINX)
sudo /home/admin/config.scripts/bonus.sphinxrelay.sh menu sudo /home/admin/config.scripts/bonus.sphinxrelay.sh menu
;; ;;

View File

@ -68,7 +68,7 @@ if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(la 'LND LIT (loop, pool, faraday)' ${lit}) OPTIONS+=(la 'LND LIT (loop, pool, faraday)' ${lit})
OPTIONS+=(gb 'LND LNDg (auto-rebalance, auto-fees)' ${lndg}) OPTIONS+=(gb 'LND LNDg (auto-rebalance, auto-fees)' ${lndg})
OPTIONS+=(oa 'LND Balance of Satoshis' ${bos}) OPTIONS+=(oa 'LND Balance of Satoshis' ${bos})
OPTIONS+=(lp 'LND lnproxy server' ${lnproxy}) #OPTIONS+=(lp 'LND lnproxy server' ${lnproxy})
OPTIONS+=(ya 'LND PyBLOCK' ${pyblock}) OPTIONS+=(ya 'LND PyBLOCK' ${pyblock})
OPTIONS+=(ha 'LND ChannelTools (Fund Rescue)' ${chantools}) OPTIONS+=(ha 'LND ChannelTools (Fund Rescue)' ${chantools})
OPTIONS+=(xa 'LND Sphinx-Relay' ${sphinxrelay}) OPTIONS+=(xa 'LND Sphinx-Relay' ${sphinxrelay})

View File

@ -269,10 +269,6 @@ Do you really want to update LND now?
if [ ${#error} -gt 0 ]; then if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30 whiptail --title "ERROR" --msgbox "${error}" 8 30
else else
# if loop was installed before reinstall
if [ "${loop}" == "on" ]; then
sudo -u admin /home/admin/config.scripts/bonus.loop.sh on
fi
/home/admin/config.scripts/blitz.shutdown.sh reboot /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8 sleep 8
fi fi

View File

@ -167,9 +167,6 @@ sleep 5
# CLEANING BOOT SYSTEM # CLEANING BOOT SYSTEM
################################ ################################
# force a rotation of every log on boot
logrotate -f /etc/logrotate.d/rsyslog
# Emergency cleaning logs when over 1GB (to prevent SD card filling up) # Emergency cleaning logs when over 1GB (to prevent SD card filling up)
# see https://github.com/rootzoll/raspiblitz/issues/418#issuecomment-472180944 # see https://github.com/rootzoll/raspiblitz/issues/418#issuecomment-472180944
echo "*** Checking Log Size ***" echo "*** Checking Log Size ***"

View File

@ -39,6 +39,11 @@ if [ "${confExists}" != "1" ]; then
exit 6 exit 6
fi fi
# make sure raspiblitz.conf has an blitzapi entry when setup thru fatpack image (blitzapi=on in raspiblitz.info)
if [ "${blitzapi}" == "on" ]; then
/home/admin/config.scripts/blitz.conf.sh set blitzapi on >> ${logFile}
fi
################################### ###################################
# Preserve SSH keys # Preserve SSH keys
# just copy dont link anymore # just copy dont link anymore

View File

@ -40,6 +40,7 @@ if [ ${configExists} -eq 0 ]; then
fi fi
# import config values # import config values
source ${infoFile}
source ${configFile} source ${configFile}
########################## ##########################
@ -425,15 +426,6 @@ else
echo "Provisioning clWatchtowerClient - keep default" >> ${logFile} echo "Provisioning clWatchtowerClient - keep default" >> ${logFile}
fi fi
#LOOP - install only if LiT won't be installed
if [ "${loop}" = "on" ] && [ "${lit}" != "on" ]; then
echo "Provisioning Lightning Loop - run config script" >> ${logFile}
/home/admin/_cache.sh set message "Setup Lightning Loop"
sudo -u admin /home/admin/config.scripts/bonus.loop.sh on >> ${logFile} 2>&1
else
echo "Provisioning Lightning Loop - keep default" >> ${logFile}
fi
#BTC RPC EXPLORER #BTC RPC EXPLORER
if [ "${BTCRPCexplorer}" = "on" ]; then if [ "${BTCRPCexplorer}" = "on" ]; then
echo "Provisioning BTCRPCexplorer - run config script" >> ${logFile} echo "Provisioning BTCRPCexplorer - run config script" >> ${logFile}
@ -594,15 +586,6 @@ else
echo "Provisioning Specter - keep default" >> ${logFile} echo "Provisioning Specter - keep default" >> ${logFile}
fi fi
# Faraday
if [ "${faraday}" = "on" ]; then
echo "Provisioning Faraday - run config script" >> ${logFile}
/home/admin/_cache.sh set message "Setup Faraday"
sudo -u admin /home/admin/config.scripts/bonus.faraday.sh on >> ${logFile} 2>&1
else
echo "Provisioning Faraday - keep default" >> ${logFile}
fi
# BOS # BOS
if [ "${bos}" = "on" ]; then if [ "${bos}" = "on" ]; then
echo "Provisioning Balance of Satoshis - run config script" >> ${logFile} echo "Provisioning Balance of Satoshis - run config script" >> ${logFile}
@ -612,14 +595,14 @@ else
echo "Provisioning Balance of Satoshis - keep default" >> ${logFile} echo "Provisioning Balance of Satoshis - keep default" >> ${logFile}
fi fi
# LNPROXY ## LNPROXY
if [ "${lnproxy}" = "on" ]; then #if [ "${lnproxy}" = "on" ]; then
echo "Provisioning lnproxy - run config script" >> ${logFile} # echo "Provisioning lnproxy - run config script" >> ${logFile}
/home/admin/_cache.sh set message "Setup lnproxy" # /home/admin/_cache.sh set message "Setup lnproxy"
sudo -u admin /home/admin/config.scripts/bonus.lnproxy.sh on >> ${logFile} 2>&1 # sudo -u admin /home/admin/config.scripts/bonus.lnproxy.sh on >> ${logFile} 2>&1
else #else
echo "Provisioning lnproxy - keep default" >> ${logFile} # echo "Provisioning lnproxy - keep default" >> ${logFile}
fi #fi
# thunderhub # thunderhub
if [ "${thunderhub}" = "on" ]; then if [ "${thunderhub}" = "on" ]; then
@ -675,15 +658,6 @@ else
echo "Provisioning Stacking Sats Kraken - keep default" >> ${logFile} echo "Provisioning Stacking Sats Kraken - keep default" >> ${logFile}
fi fi
# Pool - install only if LiT won't be installed
if [ "${pool}" = "on" ] && [ "${lit}" != "on" ]; then
echo "Provisioning Pool - run config script" >> ${logFile}
/home/admin/_cache.sh set message "Setup Pool"
sudo -u admin /home/admin/config.scripts/bonus.pool.sh on >> ${logFile} 2>&1
else
echo "Provisioning Pool - keep default" >> ${logFile}
fi
# lit (make sure to be installed after RTL) # lit (make sure to be installed after RTL)
if [ "${lit}" = "on" ]; then if [ "${lit}" = "on" ]; then
echo "Provisioning LIT - run config script" >> ${logFile} echo "Provisioning LIT - run config script" >> ${logFile}
@ -732,7 +706,7 @@ fi
# homer # homer
if [ "${homer}" = "on" ]; then if [ "${homer}" = "on" ]; then
echo "Provisioning Homer - run config script" >> ${logFile} echo "Provisioning Homer - run config script" >> ${logFile}
sudo sed -i "s/^message=.*/message='Setup Homer'/g" ${infoFile} /home/admin/_cache.sh set message "Setup Homer"
sudo -u admin /home/admin/config.scripts/bonus.homer.sh on >> ${logFile} 2>&1 sudo -u admin /home/admin/config.scripts/bonus.homer.sh on >> ${logFile} 2>&1
else else
echo "Provisioning Homer - keep default" >> ${logFile} echo "Provisioning Homer - keep default" >> ${logFile}
@ -759,7 +733,7 @@ fi
# squeaknode # squeaknode
if [ "${squeaknode}" = "on" ]; then if [ "${squeaknode}" = "on" ]; then
echo "Provisioning Squeaknode - run config script" >> ${logFile} echo "Provisioning Squeaknode - run config script" >> ${logFile}
sudo sed -i "s/^message=.*/message='Setup Squeaknode '/g" ${infoFile} /home/admin/_cache.sh set message "Setup Squeaknode"
sudo -u admin /home/admin/config.scripts/bonus.squeaknode.sh on >> ${logFile} 2>&1 sudo -u admin /home/admin/config.scripts/bonus.squeaknode.sh on >> ${logFile} 2>&1
else else
echo "Provisioning Squeaknode - keep default" >> ${logFile} echo "Provisioning Squeaknode - keep default" >> ${logFile}
@ -768,7 +742,7 @@ fi
# itchysats # itchysats
if [ "${itchysats}" = "on" ]; then if [ "${itchysats}" = "on" ]; then
echo "Provisioning ItchySats - run config script" >> ${logFile} echo "Provisioning ItchySats - run config script" >> ${logFile}
sudo sed -i "s/^message=.*/message='Setup ItchySats'/g" ${infoFile} /home/admin/_cache.sh set message "Setup ItchySats"
sudo -u admin /home/admin/config.scripts/bonus.itchysats.sh on --download >> ${logFile} 2>&1 sudo -u admin /home/admin/config.scripts/bonus.itchysats.sh on --download >> ${logFile} 2>&1
else else
echo "ItchySats - keep default" >> ${logFile} echo "ItchySats - keep default" >> ${logFile}

View File

@ -85,6 +85,11 @@ echo "chainnetwork: ${network} / ${chain}"
uptime uptime
echo echo
echo "*** FAILED SERVICES ***"
echo "list any servcies with problems: sudo systemctl list-units --failed"
sudo systemctl list-units --failed
echo
echo "*** SETUPPHASE / BOOTSTRAP ***" echo "*** SETUPPHASE / BOOTSTRAP ***"
echo "see logs: cat /home/admin/raspiblitz.log" echo "see logs: cat /home/admin/raspiblitz.log"
echo "setupPhase--> ${setupPhase}" echo "setupPhase--> ${setupPhase}"

View File

@ -36,7 +36,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
echo "" echo ""
# create user # create user
sudo adduser --system --group --home /home/bitcoinminds bitcoinminds USERNAME=bitcoinminds
echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
# add local directory to path and set PATH for the user # add local directory to path and set PATH for the user
sudo bash -c "echo 'PATH=\$PATH:/home/bitcoinminds/.local/bin' >> /home/bitcoinminds/.profile" sudo bash -c "echo 'PATH=\$PATH:/home/bitcoinminds/.local/bin' >> /home/bitcoinminds/.profile"

View File

@ -4,7 +4,7 @@
# https://github.com/alexbosworth/balanceofsatoshis/blob/master/package.json#L85 # https://github.com/alexbosworth/balanceofsatoshis/blob/master/package.json#L85
# https://www.npmjs.com/package/balanceofsatoshis # https://www.npmjs.com/package/balanceofsatoshis
BOSVERSION="15.8.14" BOSVERSION="15.11.0"
# command info # command info
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
@ -194,7 +194,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
/home/admin/config.scripts/bonus.nodejs.sh on /home/admin/config.scripts/bonus.nodejs.sh on
# create bos user # create bos user
sudo adduser --system --group --home /home/bos bos USERNAME=bos
echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
echo "# Create data folder on the disk" echo "# Create data folder on the disk"
# move old data if present # move old data if present
@ -211,10 +215,6 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
sudo -u bos npm config set prefix '/home/bos/.npm-global' sudo -u bos npm config set prefix '/home/bos/.npm-global'
sudo bash -c "echo 'PATH=$PATH:/home/bos/.npm-global/bin' >> /home/bos/.bashrc" sudo bash -c "echo 'PATH=$PATH:/home/bos/.npm-global/bin' >> /home/bos/.bashrc"
# download source code
sudo -u bos git clone https://github.com/alexbosworth/balanceofsatoshis.git /home/bos/balanceofsatoshis
cd /home/bos/balanceofsatoshis
# make sure symlink to central app-data directory exists ***" # make sure symlink to central app-data directory exists ***"
sudo rm -rf /home/bos/.lnd # not a symlink.. delete it silently sudo rm -rf /home/bos/.lnd # not a symlink.. delete it silently
# create symlink # create symlink

View File

@ -6,7 +6,7 @@
# https://github.com/openoms/joininbox # https://github.com/openoms/joininbox
# https://github.com/openoms/joininbox/tags # https://github.com/openoms/joininbox/tags
JBTAG="v0.7.8" # installs JoinMarket v0.9.9 JBTAG="v0.8.1" # installs JoinMarket v0.9.10
# command info # command info
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
@ -56,8 +56,11 @@ if [ "$1" = "install" ]; then
echo "# cleaning before install" echo "# cleaning before install"
sudo userdel -rf joinmarket 2>/dev/null sudo userdel -rf joinmarket 2>/dev/null
echo "# add the 'joinmarket' user" USERNAME=joinmarket
adduser --system --group --home /home/joinmarket joinmarket echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
# add to sudo group (required for installation) # add to sudo group (required for installation)
adduser joinmarket sudo || exit 1 adduser joinmarket sudo || exit 1
@ -69,9 +72,6 @@ if [ "$1" = "install" ]; then
sudo -u joinmarket mkdir -p /home/joinmarket/.ssh sudo -u joinmarket mkdir -p /home/joinmarket/.ssh
chmod -R 700 /home/joinmarket/.ssh chmod -R 700 /home/joinmarket/.ssh
# install the command-line fuzzy finder (https://github.com/junegunn/fzf)
bash -c "echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' >> /home/joinmarket/.bashrc"
echo "# adding JoininBox" echo "# adding JoininBox"
sudo rm -rf /home/joinmarket/joininbox sudo rm -rf /home/joinmarket/joininbox
sudo -u joinmarket git clone https://github.com/openoms/joininbox.git /home/joinmarket/joininbox sudo -u joinmarket git clone https://github.com/openoms/joininbox.git /home/joinmarket/joininbox
@ -115,8 +115,7 @@ if [ "$1" = "install" ]; then
echo echo
# install a command-line fuzzy finder (https://github.com/junegunn/fzf) # install a command-line fuzzy finder (https://github.com/junegunn/fzf)
apt -y install fzf apt -y install fzf
bash -c "echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' >> \ echo 'source /usr/share/doc/fzf/examples/key-bindings.bash' | sudo -u joinmarket tee -a /home/joinmarket/.bashrc
/home/joinmarket/.bashrc"
# install tmux # install tmux
apt -y install tmux apt -y install tmux

View File

@ -90,7 +90,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
if [ ${isInstalled} -eq 0 ]; then if [ ${isInstalled} -eq 0 ]; then
# create dedicated user # create dedicated user
sudo adduser --system --group --home /home/lit lit USERNAME=lit
echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
# make sure symlink to central app-data directory exists # make sure symlink to central app-data directory exists
sudo rm -rf /home/lit/.lnd # not a symlink.. delete it silently sudo rm -rf /home/lit/.lnd # not a symlink.. delete it silently
# create symlink # create symlink

View File

@ -29,7 +29,12 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
echo "*** INSTALL pyblocks***" echo "*** INSTALL pyblocks***"
# create pyblock user # create pyblock user
sudo adduser --system --group --home /home/pyblock pyblock USERNAME=pyblock
echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
cd /home/pyblock cd /home/pyblock
sudo -u pyblock mkdir /home/pyblock/config sudo -u pyblock mkdir /home/pyblock/config

View File

@ -28,7 +28,10 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
/home/admin/config.scripts/bonus.nodejs.sh on /home/admin/config.scripts/bonus.nodejs.sh on
# add user # add user
sudo adduser --system --group --home /home/$USERNAME $USERNAME echo "# add the user: ${USERNAME}"
sudo adduser --system --group --shell /bin/bash --home /home/${USERNAME} ${USERNAME}
echo "Copy the skeleton files for login"
sudo -u ${USERNAME} cp -r /etc/skel/. /home/${USERNAME}/
# install stacking-sats-kraken # install stacking-sats-kraken
cd $HOME_DIR cd $HOME_DIR

View File

@ -161,7 +161,11 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
# BACKGROUND is here to seperate running apps by unix users # BACKGROUND is here to seperate running apps by unix users
# and only give file write access to the rest of the system where needed. # and only give file write access to the rest of the system where needed.
echo "# create user" echo "# create user"
sudo adduser --system --group --home /home/${APPID} ${APPID} || exit 1 # If the user is intended to be loeed in to add '--shell /bin/bash'
# and copy the skeleton files
sudo adduser --system --group --shell /bin/bash --home /home/${APPID} ${APPID} || exit 1
# copy the skeleton files for login
sudo -u ${APPID} cp -r /etc/skel/. /home/${APPID}/
# add user to special groups with special access rights # add user to special groups with special access rights
# BACKGROUND there are some unix groups available that will give the access to # BACKGROUND there are some unix groups available that will give the access to

View File

@ -2,7 +2,7 @@
# https://lightning.readthedocs.io/ # https://lightning.readthedocs.io/
# https://github.com/ElementsProject/lightning/releases # https://github.com/ElementsProject/lightning/releases
CLVERSION="v23.08" CLVERSION="v23.08.1"
# install the latest master by using the last commit id # install the latest master by using the last commit id
# https://github.com/ElementsProject/lightning/commit/master # https://github.com/ElementsProject/lightning/commit/master