mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-28 16:58:03 +01:00
fulcrum update to v1.9.6, simple cli update option, new filenames (#4217)
This commit is contained in:
parent
3ca368fbbe
commit
041574a1ee
1 changed files with 80 additions and 50 deletions
|
@ -1,17 +1,69 @@
|
|||
#!/bin/bash
|
||||
|
||||
# https://github.com/cculianu/Fulcrum/releases
|
||||
fulcrumVersion="1.9.1"
|
||||
fulcrumVersion="1.9.6"
|
||||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
echo "config script to switch the Fulcrum electrum server on or off"
|
||||
echo "config script to switch the Fulcrum electrum server on, off or update to the latest release"
|
||||
# echo "bonus.fulcrum.sh status [?showAddress]"
|
||||
echo "bonus.fulcrum.sh [on|off]"
|
||||
echo "bonus.fulcrum.sh [on|off|update]"
|
||||
echo "installs the version $fulcrumVersion"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function downloadAndVerifyBinary() {
|
||||
cd /home/fulcrum || exit 1
|
||||
|
||||
# download the prebuilt binary
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-${build}.tar.gz || exit 1
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-sha256sums.txt || exit 1
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-sha256sums.txt.asc || exit 1
|
||||
|
||||
# Verify
|
||||
# get the PGP key
|
||||
curl https://raw.githubusercontent.com/Electron-Cash/keys-n-hashes/master/pubkeys/calinkey.txt | sudo -u fulcrum gpg --import
|
||||
|
||||
echo "# Look for 'Good signature'"
|
||||
sudo -u fulcrum gpg --verify Fulcrum-${fulcrumVersion}-sha256sums.txt.asc || exit 1
|
||||
|
||||
echo "# Look for 'OK'"
|
||||
sudo -u fulcrum sha256sum -c Fulcrum-${fulcrumVersion}-sha256sums.txt --ignore-missing || exit 1
|
||||
|
||||
echo "# Unpack"
|
||||
sudo -u fulcrum tar -xvf Fulcrum-${fulcrumVersion}-${build}.tar.gz
|
||||
}
|
||||
|
||||
function createSystemdService() {
|
||||
echo "# Create a systemd service"
|
||||
echo "\
|
||||
[Unit]
|
||||
Description=Fulcrum
|
||||
After=network.target bitcoind.service
|
||||
StartLimitBurst=2
|
||||
StartLimitIntervalSec=20
|
||||
|
||||
[Service]
|
||||
ExecStart=/home/fulcrum/Fulcrum-${fulcrumVersion}-${build}/Fulcrum /home/fulcrum/.fulcrum/fulcrum.conf
|
||||
KillSignal=SIGINT
|
||||
User=fulcrum
|
||||
LimitNOFILE=8192
|
||||
TimeoutStopSec=300
|
||||
RestartSec=5
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
" | sudo tee /etc/systemd/system/fulcrum.service
|
||||
}
|
||||
|
||||
# set the platform
|
||||
if [ $(uname -m) = "aarch64" ]; then
|
||||
build="arm64-linux"
|
||||
elif [ $(uname -m) = "x86_64" ]; then
|
||||
build="x86_64-linux-ub16"
|
||||
fi
|
||||
|
||||
if [ "$1" = on ]; then
|
||||
# ?wait until txindex finishes?
|
||||
/home/admin/config.scripts/network.txindex.sh on
|
||||
|
@ -31,34 +83,10 @@ if [ "$1" = on ]; then
|
|||
|
||||
# create a dedicated user
|
||||
sudo adduser --system --group --home /home/fulcrum fulcrum
|
||||
cd /home/fulcrum || exit 1
|
||||
|
||||
sudo apt install -y libssl-dev # was needed on Debian Bullseye
|
||||
|
||||
# set the platform
|
||||
if [ $(uname -m) = "aarch64" ]; then
|
||||
build="arm64-linux"
|
||||
elif [ $(uname -m) = "x86_64" ]; then
|
||||
build="x86_64-linux-ub16"
|
||||
fi
|
||||
|
||||
# download the prebuilt binary
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-${build}.tar.gz
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-${build}.tar.gz.asc
|
||||
sudo -u fulcrum wget https://github.com/cculianu/Fulcrum/releases/download/v${fulcrumVersion}/Fulcrum-${fulcrumVersion}-${build}.tar.gz.sha256sum
|
||||
|
||||
# Verify
|
||||
# get the PGP key
|
||||
curl https://raw.githubusercontent.com/Electron-Cash/keys-n-hashes/master/pubkeys/calinkey.txt | sudo -u fulcrum gpg --import
|
||||
|
||||
echo "# Look for 'Good signature'"
|
||||
sudo -u fulcrum gpg --verify Fulcrum-${fulcrumVersion}-${build}.tar.gz.asc || exit 1
|
||||
|
||||
echo "# Look for 'OK'"
|
||||
sudo -u fulcrum sha256sum -c Fulcrum-${fulcrumVersion}-${build}.tar.gz.sha256sum --ignore-missing || exit 1
|
||||
|
||||
echo "# Unpack"
|
||||
sudo -u fulcrum tar -xvf Fulcrum-${fulcrumVersion}-${build}.tar.gz
|
||||
downloadAndVerifyBinary
|
||||
|
||||
echo "# Create the database directory in /mnt/hdd/app-storage (on the disk)"
|
||||
sudo mkdir -p /mnt/hdd/app-storage/fulcrum/db
|
||||
|
@ -95,26 +123,7 @@ tcp = 0.0.0.0:50021
|
|||
# ssl via nginx
|
||||
" | sudo -u fulcrum tee /home/fulcrum/.fulcrum/fulcrum.conf
|
||||
|
||||
echo "# Create a systemd service"
|
||||
echo "\
|
||||
[Unit]
|
||||
Description=Fulcrum
|
||||
After=network.target bitcoind.service
|
||||
StartLimitBurst=2
|
||||
StartLimitIntervalSec=20
|
||||
|
||||
[Service]
|
||||
ExecStart=/home/fulcrum/Fulcrum-${fulcrumVersion}-${build}/Fulcrum /home/fulcrum/.fulcrum/fulcrum.conf
|
||||
KillSignal=SIGINT
|
||||
User=fulcrum
|
||||
LimitNOFILE=8192
|
||||
TimeoutStopSec=300
|
||||
RestartSec=5
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
" | sudo tee /etc/systemd/system/fulcrum.service
|
||||
createSystemdService
|
||||
|
||||
sudo systemctl enable fulcrum
|
||||
if [ "${state}" == "ready" ]; then
|
||||
|
@ -186,9 +195,30 @@ stream {
|
|||
echo "sudo journalctl -fu fulcrum"
|
||||
fi
|
||||
|
||||
if [ "$1" = update ]; then
|
||||
# get the latest release from github without the leading 'v'
|
||||
fulcrumVersion=$(curl --silent https://api.github.com/repos/cculianu/Fulcrum/releases/latest | jq -r '.tag_name | ltrimstr("v")')
|
||||
echo "# The latest release is: $fulcrumVersion"
|
||||
|
||||
# check if the binary is already installed
|
||||
if [ -f /home/fulcrum/Fulcrum-${fulcrumVersion}-${build}/Fulcrum ]; then
|
||||
echo "# Fulcrum-${fulcrumVersion}-${build} is already installed"
|
||||
exit 0
|
||||
else
|
||||
echo "# Installing Fulcrum-${fulcrumVersion}-${build}"
|
||||
fi
|
||||
|
||||
downloadAndVerifyBinary
|
||||
|
||||
sudo systemctl disable --now fulcrum
|
||||
|
||||
createSystemdService
|
||||
|
||||
sudo systemctl enable --now fulcrum
|
||||
fi
|
||||
|
||||
if [ "$1" = off ]; then
|
||||
sudo systemctl disable fulcrum
|
||||
sudo systemctl stop fulcrum
|
||||
sudo systemctl disable --now fulcrum
|
||||
sudo userdel -rf fulcrum
|
||||
# remove Tor service
|
||||
/home/admin/config.scripts/tor.onion-service.sh off fulcrum
|
||||
|
|
Loading…
Add table
Reference in a new issue