Bitcoinminds.org to be made available as a service in Raspiblitz (#2933)

This commit is contained in:
raulcano 2022-02-10 21:48:53 +01:00 committed by GitHub
parent 6c4fd39ef6
commit f242f75b53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 152 additions and 0 deletions

View File

@ -27,6 +27,7 @@ if [ ${#chantools} -eq 0 ]; then chantools="off"; fi
if [ ${#sparko} -eq 0 ]; then sparko="off"; fi
if [ ${#spark} -eq 0 ]; then spark="off"; fi
if [ ${#tallycoinConnect} -eq 0 ]; then tallycoinConnect="off"; fi
if [ ${#bitcoinminds} -eq 0 ]; then bitcoinminds="off"; fi
# show select dialog
echo "run dialog ..."
@ -42,6 +43,7 @@ if [ "${network}" == "bitcoin" ]; then
OPTIONS+=(a 'BTC Mempool Space' ${mempoolExplorer})
OPTIONS+=(j 'BTC JoinMarket+JoininBox menu' ${joinmarket})
OPTIONS+=(w 'BTC Download Bitcoin Whitepaper' ${whitepaper})
OPTIONS+=(v 'BTC Install BitcoinMinds.org' ${bitcoinminds})
fi
@ -500,6 +502,21 @@ else
echo "Whitepaper setting unchanged."
fi
# BitcoinMinds process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "v")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${bitcoinminds}" != "${choice}" ]; then
echo "BitcoinMinds setting changed."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.bitcoinminds.sh ${choice}
source /mnt/hdd/raspiblitz.conf
if [ "${bitcoinminds}" = "on" ]; then
sudo -u admin /home/admin/config.scripts/bonus.bitcoinminds.sh menu
fi
else
echo "BitcoinMinds setting unchanged."
fi
# sparko process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "k")
if [ ${check} -eq 1 ]; then choice="on"; fi

View File

@ -394,3 +394,20 @@ function qr() {
echo "(To shrink QR code: MacOS press CMD- / Linux press CTRL-)"
echo
}
# command: bm
# switch to the bitcoinminds user for the 'BitcoinMinds.org' in your local environment
function bm() {
if [ $(grep -c "bitcoinminds=on" < /mnt/hdd/raspiblitz.conf) -eq 1 ]; then
echo ""
echo "# ***"
echo "# Switching to the bitcoinminds user with the command: 'sudo su - bitcoinminds'"
echo "# ***"
echo ""
sudo su - bitcoinminds
echo "# Use command 'raspiblitz' to return to menu"
else
echo "BitcoinMinds script is not installed - to install run:"
echo "sudo /home/admin/config.scripts/bonus.bitcoinminds.sh on"
fi
}

View File

@ -0,0 +1,118 @@
#!/bin/bash
BitcoinMindsVersion="v0.1"
# command info
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
echo "# config script to download and run from your Raspiblitz the BitcoinMinds.org website"
echo "# on: installs BitcoinMinds.org and runs a local server"
echo "# off: removes all the code"
echo "# bonus.bitcoinminds.sh [on|off|menu]"
echo "# BitcoinMinds.org installation script $BitcoinMindsVersion"
exit 1
fi
source /mnt/hdd/raspiblitz.conf
# add default value to raspi config if needed
if ! grep -Eq "^bitcoinminds=" /mnt/hdd/raspiblitz.conf; then
echo "bitcoinminds=off" >> /mnt/hdd/raspiblitz.conf
fi
# show info menu
if [ "$1" = "menu" ]; then
dialog --title " BitcoinMinds.org Info" --msgbox "
This service downloads the full BitcoinMinds.org website in your Raspiblitz, so you can access its interface and Bitcoin resources from your local network, regardless of the internet connection.
Use the command 'bm' from the console to start the server.
" 11 78
exit 0
fi
# switch on
if [ "$1" = "1" ] || [ "$1" = "on" ]; then
echo ""
echo "# ***"
echo "# Installing BitcoinMinds.org in your Raspiblitz ..."
echo "# ***"
echo ""
# create user
sudo adduser --disabled-password --gecos "" bitcoinminds 2>/dev/null
# 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/share/composer' >> /home/bitcoinminds/.profile"
cd /home/bitcoinminds
echo ""
echo "# ***"
echo "# Downloading BitcoinMinds.org from GitHub ..."
echo "# ***"
echo ""
sudo -u bitcoinminds git clone https://github.com/raulcano/bitcoinminds.git 2>/dev/null
echo ""
echo "# ***"
echo "# Installing packages ..."
echo "# ***"
echo ""
cd /home/bitcoinminds/bitcoinminds/bitcoinminds-ui
sudo -u bitcoinminds npm install
echo ""
echo "# ***"
echo "# Setting the autostart script for user bitcoinminds"
echo "# ***"
echo "
cd /home/bitcoinminds/bitcoinminds/bitcoinminds-ui
npm run serve -- --port 11026
" | sudo -u bitcoinminds tee -a /home/bitcoinminds/.bashrc
# setting value in raspi blitz config
sudo sed -i "s/^bitcoinminds=.*/bitcoinminds=on/g" /mnt/hdd/raspiblitz.conf
# add a firewall entry so the web UI is accessible from the local network
sudo ufw allow 11026 comment 'bitcoinminds'
echo ""
echo "# ***"
echo "# OK - BitcoinMinds installed. Type 'bm' in the console to start the environment."
echo "# ***"
echo ""
exit 0
fi
# switch off
if [ "$1" = "0" ] || [ "$1" = "off" ]; then
isInstalled=1
if [ ${isInstalled} -eq 1 ]; then
echo ""
echo "# ***"
echo "# Removing BitcoinMinds..."
echo "# ***"
echo ""
# setting value in raspi blitz config
sudo sed -i "s/^bitcoinminds=.*/bitcoinminds=off/g" /mnt/hdd/raspiblitz.conf
# Remove user and stuff here
sudo userdel -rf bitcoinminds 2>/dev/null
# delete firewall entry
sudo ufw delete allow 11026 comment 'bitcoinminds'
echo ""
echo "# ***"
echo "# OK - BitcoinMinds removed."
echo "# ***"
echo ""
else
echo "# BitcoinMinds has not been installed yet."
fi
exit 0
fi