mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-28 16:58:03 +01:00
commit
e15a02caf1
18 changed files with 149 additions and 93 deletions
11
CHANGES.md
11
CHANGES.md
|
@ -4,14 +4,14 @@
|
|||
- New: BTCPay Server PostgreSQL database backup and restore options [details](https://github.com/raspiblitz/raspiblitz/pull/4409)
|
||||
- New: Reset option for the self-signed TLS certificate [details](https://github.com/raspiblitz/raspiblitz/pull/4412)
|
||||
- New on WebUI: Electrum Connect Screen
|
||||
- Update: RaspberryOS base image 2023-12-05 (Debian 12 Bookworm)
|
||||
- Update: RaspberryOS arm64 base image 2024-03-15 (Debian 12 Bookworm) [details](https://downloads.raspberrypi.com/raspios_full_arm64/release_notes.txt)
|
||||
- Update: amd64 base image: debian-12.5.0-amd64-netinst.iso
|
||||
- Update: Bitcoin Core v26.0 [details](https://bitcoincore.org/en/releases/26.0/)
|
||||
- Update: LND v0.17.3-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.17.3-beta)
|
||||
- Update: Core Lightning v23.11.2 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.11.2)
|
||||
- Update: Core Lightning v24.02.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v24.02.1)
|
||||
- Update: C-lightningREST v0.10.7 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.7)
|
||||
- Update: Electrum Server in Rust (electrs) v0.10.2 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0102-dec-31-2023)
|
||||
- Update: Fulcrum Electrum server v1.9.8 (CLI install script) [details](https://github.com/cculianu/Fulcrum/releases/tag/v1.9.8)
|
||||
- Update: Electrum Server in Rust (electrs) v0.10.4 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0104-mar-15-2024)
|
||||
- Update: Fulcrum Electrum server v1.10.0 (CLI install script) [details](https://github.com/cculianu/Fulcrum/releases/tag/v1.10.0)
|
||||
- Update: BTC-RPC-Explorer v3.4.0 [details](https://github.com/janoside/btc-rpc-explorer/blob/master/CHANGELOG.md#v340)
|
||||
- Update: JoinMarket v0.9.11 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.11)
|
||||
- Update: Jam (JoinMarket Web UI) v0.2.0 [details](https://github.com/joinmarket-webui/jam/releases/tag/v0.2.0)
|
||||
|
@ -24,9 +24,10 @@
|
|||
- Update: LNbits 0.11.3 [details](https://github.com/lnbits/lnbits/releases/tag/0.11.3)
|
||||
- Update: Circuitbreaker v0.5.1 [details](https://github.com/lightningequipment/circuitbreaker/blob/master/README.md)
|
||||
- Experimental: LNDK (runs on top of LND to help forward onion messages (BOLT 12)) [details](https://github.com/lndk-org/lndk)
|
||||
- Fix: PyBlock 2.2.3 [details](https://github.com/curly60e/pyblock/blob/master/README.md)
|
||||
- Fix: PyBlock 2.2.3 [details](https://github.com/curly60e/pyblock/blob/master/README.md)
|
||||
- Refactor: Wifi config with file on sd card
|
||||
- Deactivated for Repair: LNDg [details](https://github.com/raspiblitz/raspiblitz/issues/4418)
|
||||
- Deactivated for Repair: lnproxy [details](https://github.com/raspiblitz/raspiblitz/issues/4122)
|
||||
- Deprecated: Homer Dashboard (remove from SSH menus, config script will stay with possible future removal)
|
||||
- Deprecated: Bitcoinminds (remove from SSH menus, config script will stay with possible future removal)
|
||||
- Remove: ItchySats (unmaintained project / in consent with dev)
|
||||
|
|
|
@ -218,6 +218,10 @@ Now to sync your branch namend BRANCH on your forked repo with your RaspiBlitz,
|
|||
|
||||
So your workflow can go like this: You write code on your local computer. Commit to your local repo, push it to your forked repo and use the sync-script above to get the code to your RaspiBlitz.
|
||||
|
||||
### How can I manual provision an image with updated code?
|
||||
|
||||
To boot an already build sd card image with your updated raspiblitz code base you can use the `stop` file flag. This will make the `_bootstrap.sh` script stop basically before making any setup or recovery changes to the system. You can SSH in an use the `github` command to update the raspiblitz code and then use `release` command. To set the `stop` file flag. Insert a fresh written sd card into your PC and on the root of `bootfs` drive with a file manager place a empty file simply called `stop` (with no file extension).
|
||||
|
||||
### How to add an app to the RaspiBlitz?
|
||||
|
||||
To add your app you can fork the raspiblitz repo, follow the `/home.admin/config.scripts/bonus.template.sh` script [see code](https://github.com/raspiblitz/raspiblitz/blob/dev/home.admin/config.scripts/bonus.template.sh), copy/adapt it, test it on your RaspiBlitz and make a PR back to the main repo.
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
#########################################################################
|
||||
# Build your SD card image based on: 2023-12-05-raspios-bookworm-arm64.img.xz
|
||||
# https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-12-06/
|
||||
# SHA256: 5c54f0572d61e443a32dfa80aa8d918049814bfc70ab977f2d545eef45f1658e
|
||||
# https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2024-03-15/
|
||||
# SHA256: 7e53a46aab92051d523d7283c080532bebb52ce86758629bf1951be9b4b0560f
|
||||
# also change in: raspiblitz/ci/arm64-rpi/build.arm64-rpi.pkr.hcl
|
||||
# PGP fingerprint: 8738CD6B956F460C - to check signature:
|
||||
# curl -O https://www.raspberrypi.org/raspberrypi_downloads.gpg.key && gpg --import ./raspberrypi_downloads.gpg.key && gpg --verify *.sig
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
variable "pack" { default = "lean" }
|
||||
variable "github_user" { default = "raspiblitz" }
|
||||
variable "branch" { default = "dev" }
|
||||
variable "image_link" { default = "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.img.xz" }
|
||||
variable "image_checksum" { default = "5c54f0572d61e443a32dfa80aa8d918049814bfc70ab977f2d545eef45f1658e" }
|
||||
variable "image_link" { default = "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64.img.xz" }
|
||||
variable "image_checksum" { default = "7e53a46aab92051d523d7283c080532bebb52ce86758629bf1951be9b4b0560f" }
|
||||
|
||||
source "arm" "raspiblitz-arm64-rpi" {
|
||||
file_checksum_type = "sha256"
|
||||
|
|
|
@ -5,12 +5,14 @@ wget https://raw.githubusercontent.com/${github_user}/raspiblitz/${branch}/build
|
|||
|
||||
if [ "${pack}" = "fatpack" ]; then
|
||||
fatpack="1"
|
||||
display="lcd"
|
||||
else
|
||||
fatpack="0"
|
||||
display="headless"
|
||||
fi
|
||||
|
||||
# make /dev/shm world writable for qemu
|
||||
sudo chmod 777 /dev/shm
|
||||
|
||||
echo 'Build RaspiBlitz ...'
|
||||
bash build_sdcard.sh -f ${fatpack} -u ${github_user} -b ${branch} -t false -w off -i false
|
||||
bash build_sdcard.sh -f ${fatpack} -u ${github_user} -b ${branch} -t false -w off -i false -d ${display}
|
||||
|
|
|
@ -126,15 +126,15 @@ echo "# Date: ${dateString}"
|
|||
if [ "${ARCH}" == "arm" ] && [ "${TYPE}" == "min" ]; then
|
||||
PACKERTARGET="arm64-rpi-lean-image"
|
||||
PACKERBUILDPATH="./raspiblitz/ci/arm64-rpi/packer-builder-arm/raspiblitz-arm64-rpi-lean.img"
|
||||
PACKERFINALFILE="raspiblitz-min-${codeVersion}-${dateString}.img"
|
||||
PACKERFINALFILE="raspiblitz-min-v${codeVersion}-${dateString}.img"
|
||||
elif [ "${ARCH}" == "arm" ] && [ "${TYPE}" == "fat" ]; then
|
||||
PACKERTARGET="arm64-rpi-fatpack-image"
|
||||
PACKERBUILDPATH="./raspiblitz/ci/arm64-rpi/packer-builder-arm/TODO" #TODO
|
||||
PACKERFINALFILE="raspiblitz-fat-${codeVersion}-${dateString}.img"
|
||||
PACKERFINALFILE="raspiblitz-fat-v${codeVersion}-${dateString}.img"
|
||||
elif [ "${ARCH}" == "x86" ] && [ "${TYPE}" == "min" ]; then
|
||||
PACKERTARGET="amd64-lean-server-legacyboot-image"
|
||||
PACKERBUILDPATH="./raspiblitz/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2"
|
||||
PACKERFINALFILE="raspiblitz-amd64-min-${codeVersion}-${dateString}.qcow2"
|
||||
PACKERFINALFILE="raspiblitz-amd64-min-v${codeVersion}-${dateString}.qcow2"
|
||||
else
|
||||
echo "error='$ARCH-$TYPE not supported'"
|
||||
exit 1
|
||||
|
|
|
@ -86,7 +86,6 @@ while :
|
|||
|
||||
# get config info if already available (with state value)
|
||||
source ${infoFile}
|
||||
source <(/home/admin/_cache.sh get state message)
|
||||
|
||||
configExists=$(ls "${configFile}" 2>/dev/null | grep -c '.conf')
|
||||
if [ ${configExists} -eq 1 ]; then
|
||||
|
|
|
@ -13,7 +13,6 @@ source /mnt/hdd/raspiblitz.conf 2>/dev/null
|
|||
# INFOFILE - state data from bootstrap
|
||||
infoFile="/home/admin/raspiblitz.info"
|
||||
source ${infoFile}
|
||||
source <(/home/admin/_cache.sh get state message)
|
||||
|
||||
# check that basic system phase/state information is available
|
||||
if [ "${setupPhase}" == "" ] || [ "${state}" == "" ]; then
|
||||
|
|
|
@ -43,7 +43,6 @@ do
|
|||
# source info & config file fresh on every loop
|
||||
source ${infoFile} 2>/dev/null
|
||||
source ${configFile} 2>/dev/null
|
||||
source <(/home/admin/_cache.sh get state setupPhase)
|
||||
|
||||
####################################################
|
||||
# SKIP BACKGROUND TASK LOOP ON CERTAIN SYSTEM STATES
|
||||
|
|
|
@ -90,15 +90,16 @@ ln_cl_signet_sync_initial_done=0
|
|||
source ${infoFile} 2>/dev/null
|
||||
|
||||
# write fresh raspiblitz.info file
|
||||
echo "baseimage=${baseimage}" > $infoFile
|
||||
echo "state=starting" > $infoFile
|
||||
echo "message=starting" >> $infoFile
|
||||
echo "setupPhase=${setupPhase}" >> $infoFile
|
||||
echo "setupStep=${setupStep}" >> $infoFile
|
||||
echo "baseimage=${baseimage}" >> $infoFile
|
||||
echo "cpu=${cpu}" >> $infoFile
|
||||
echo "blitzapi=${blitzapi}" >> $infoFile
|
||||
echo "displayClass=${displayClass}" >> $infoFile
|
||||
echo "displayType=${displayType}" >> $infoFile
|
||||
echo "setupPhase=${setupPhase}" >> $infoFile
|
||||
echo "setupStep=${setupStep}" >> $infoFile
|
||||
echo "fsexpanded=${fsexpanded}" >> $infoFile
|
||||
echo "state=starting" >> $infoFile
|
||||
echo "btc_mainnet_sync_initial_done=${btc_mainnet_sync_initial_done}" >> $infoFile
|
||||
echo "btc_testnet_sync_initial_done=${btc_testnet_sync_initial_done}" >> $infoFile
|
||||
echo "btc_signet_sync_initial_done=${btc_signet_sync_initial_done}" >> $infoFile
|
||||
|
@ -114,6 +115,22 @@ chmod 664 ${infoFile}
|
|||
# write content of raspiblitz.info to logs
|
||||
cat $infoFile >> $logFile
|
||||
|
||||
######################################
|
||||
# STOP file flag - for manual provision
|
||||
|
||||
# when a file 'stop' is on the sd card bootfs partition root - stop for manual provision
|
||||
flagExists=$(ls /boot/firmware/stop | grep -c 'stop')
|
||||
if [ "${flagExists}" == "1" ]; then
|
||||
# remove flag
|
||||
rm /boot/firmware/stop
|
||||
# set state info
|
||||
/home/admin/_cache.sh set state "stop"
|
||||
/home/admin/_cache.sh set message "stopped for manual provision"
|
||||
# log info
|
||||
echo "INFO: 'bootstrap stopped - run release after manual provison'" >> ${logFile}
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#########################
|
||||
# INIT RaspiBlitz Cache
|
||||
#########################
|
||||
|
@ -155,16 +172,6 @@ source ${configFile} 2>/dev/null
|
|||
######################################
|
||||
# CHECK SD CARD STATE
|
||||
|
||||
# when a file 'stop' is on the sd card bootfs partition root - stop for manual provision
|
||||
flagExists=$(ls /boot/firmware/stop | grep -c 'stop')
|
||||
if [ "${flagExists}" == "1" ]; then
|
||||
# remove flag
|
||||
rm /boot/firmware/stop
|
||||
# log info
|
||||
echo "INFO: 'bootstrap stopped - run release after manual provison'" >> ${logFile}
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# wifi config by file on sd card
|
||||
wifiFileExists=$(ls /boot/firmware/wifi | grep -c 'wifi')
|
||||
wpaFileExists=$(ls /boot/firmware/wpa_supplicant.conf | grep -c 'wpa_supplicant.conf')
|
||||
|
|
|
@ -148,6 +148,23 @@ elif [ "$1" = "set" ] || [ "$1" = "init" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# update certain values also in raspiblitz.info
|
||||
if [ "${keystr}" = "state" ]; then
|
||||
# change value in raspiblitz.info
|
||||
sudo sed -i "s/^state=.*/state='${valuestr}'/g" ${infoFile}
|
||||
fi
|
||||
if [ "${keystr}" = "message" ]; then
|
||||
# change value in raspiblitz.info
|
||||
sudo sed -i "s/^message=.*/message='${valuestr}'/g" ${infoFile}
|
||||
fi
|
||||
if [ "${keystr}" = "setupPhase" ]; then
|
||||
# change value in raspiblitz.info
|
||||
sudo sed -i "s/^setupPhase=.*/setupPhase='${valuestr}'/g" ${infoFile}
|
||||
fi
|
||||
if [ "${keystr}" = "setupStep" ]; then
|
||||
# change value in raspiblitz.info
|
||||
sudo sed -i "s/^setupStep=.*/setupStep='${valuestr}'/g" ${infoFile}
|
||||
fi
|
||||
|
||||
NX=""
|
||||
if [ "$1" = "init" ]; then
|
||||
|
|
|
@ -183,21 +183,25 @@ sed -i "s/^setupStep=.*/setupStep=100/g" /home/admin/raspiblitz.info
|
|||
##########################
|
||||
# PROVISIONING SERVICES
|
||||
##########################
|
||||
/home/admin/_cache.sh set message "Installing Services"
|
||||
|
||||
echo "### CHECKING BLITZ-API/FRONT STATUS ###" >> ${logFile}
|
||||
blitzApiInstalled=$(systemctl status blitzapi | grep -c "loaded")
|
||||
echo "# blitzapi(${blitzapi}) blitzApiInstalled(${blitzApiInstalled})"
|
||||
if [ "${blitzapi}" != "on" ] && [ ${blitzApiInstalled} -gt 0 ]; then
|
||||
/home/admin/_cache.sh set message "Deactivated API/WebUI (as in your config) - please use SSH for further setup"
|
||||
sleep 10
|
||||
else
|
||||
/home/admin/_cache.sh set message "Installing Services"
|
||||
fi
|
||||
|
||||
# BLITZ WEB SERVICE
|
||||
echo "Provisioning BLITZ WEB SERVICE - run config script" >> ${logFile}
|
||||
/home/admin/config.scripts/blitz.web.sh https-on >> ${logFile} 2>&1
|
||||
|
||||
echo "### CHECKING BLITZ-API/FRONT STATUS ###" >> ${logFile}
|
||||
blitzApiInstalled=$(systemctl status blitzapi | grep -c "loaded")
|
||||
echo "# blitzapi(${blitzapi}) blitzApiInstalled(${blitzApiInstalled})"
|
||||
|
||||
# deinstall when not explizit 'on' when blitzapi is installed by fatpack
|
||||
# https://github.com/raspiblitz/raspiblitz/issues/4171#issuecomment-1728302628
|
||||
if [ "${blitzapi}" != "on" ] && [ ${blitzApiInstalled} -gt 0 ]; then
|
||||
echo "blitz_api directory exists & blitzapi is not 'on' - deactivating blitz-api" >> ${logFile}
|
||||
/home/admin/_cache.sh set message "Deactivate API/WebUI"
|
||||
/home/admin/config.scripts/blitz.web.api.sh off >> ${logFile} 2>&1
|
||||
/home/admin/config.scripts/blitz.web.ui.sh off >> ${logFile} 2>&1
|
||||
fi
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# RaspiBlitz Version - always [major].[main].[sub] (sub can be a string like '2rc1')
|
||||
codeVersion="1.11.0rc4"
|
||||
codeVersion="1.11.0rc5"
|
||||
# keep last line with comment ---> IF YOU HAVE A NEW VERSION BRANCH > EDIT ALSO build_sdcard.sh
|
|
@ -1,17 +1,17 @@
|
|||
#!/bin/bash
|
||||
|
||||
# https://github.com/romanz/electrs/releases
|
||||
ELECTRSVERSION="v0.10.2"
|
||||
ELECTRSVERSION="v0.10.4"
|
||||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
echo "config script to switch the Electrum Rust Server on or off"
|
||||
echo "bonus.electrs.sh status -> dont call in loops"
|
||||
echo "bonus.electrs.sh status-sync"
|
||||
echo "bonus.electrs.sh [on|off|menu|update]"
|
||||
echo "bonus.electrs.sh [install|uninstall]"
|
||||
echo "installs the version $ELECTRSVERSION"
|
||||
exit 1
|
||||
echo "config script to switch the Electrum Rust Server on or off"
|
||||
echo "bonus.electrs.sh status -> dont call in loops"
|
||||
echo "bonus.electrs.sh status-sync"
|
||||
echo "bonus.electrs.sh [on|off|menu|update]"
|
||||
echo "bonus.electrs.sh [install|uninstall]"
|
||||
echo "installs the version $ELECTRSVERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PGPsigner="romanz"
|
||||
|
@ -55,7 +55,10 @@ if [ "$1" = "status" ]; then
|
|||
localPortRunning=$(sudo netstat -an | grep -c '0.0.0.0:50001')
|
||||
echo "localTCPPortActive=${localPortRunning}"
|
||||
|
||||
publicPortRunning=$(nc -z -w6 ${publicip} 50001 2>/dev/null; echo $?)
|
||||
publicPortRunning=$(
|
||||
nc -z -w6 ${publicip} 50001 2>/dev/null
|
||||
echo $?
|
||||
)
|
||||
if [ "${publicPortRunning}" == "0" ]; then
|
||||
# OK looks good - but just means that something is answering on that port
|
||||
echo "publicTCPPortAnswering=1"
|
||||
|
@ -66,7 +69,10 @@ if [ "$1" = "status" ]; then
|
|||
echo "portSSL='50002'"
|
||||
localPortRunning=$(sudo netstat -an | grep -c '0.0.0.0:50002')
|
||||
echo "localHTTPPortActive=${localPortRunning}"
|
||||
publicPortRunning=$(nc -z -w6 ${publicip} 50002 2>/dev/null; echo $?)
|
||||
publicPortRunning=$(
|
||||
nc -z -w6 ${publicip} 50002 2>/dev/null
|
||||
echo $?
|
||||
)
|
||||
if [ "${publicPortRunning}" == "0" ]; then
|
||||
# OK looks good - but just means that something is answering on that port
|
||||
echo "publicHTTPPortAnswering=1"
|
||||
|
@ -177,7 +183,7 @@ This can take multiple hours.
|
|||
fi
|
||||
|
||||
if [ ${nginxTest} -eq 0 ]; then
|
||||
dialog --title "Testing nginx.conf has failed" --msgbox "
|
||||
dialog --title "Testing nginx.conf has failed" --msgbox "
|
||||
Nginx is in a failed state. Will attempt to fix.
|
||||
Try connecting via port 50002 or Tor again once finished.
|
||||
Check 'sudo nginx -t' for a detailed error message.
|
||||
|
@ -194,17 +200,17 @@ Check 'sudo nginx -t' for a detailed error message.
|
|||
fi
|
||||
|
||||
# Options (available without TOR)
|
||||
OPTIONS=( \
|
||||
CONNECT "How to Connect" \
|
||||
REINDEX "Delete&Rebuild Index" \
|
||||
STATUS "ElectRS Status Info"
|
||||
)
|
||||
OPTIONS=(
|
||||
CONNECT "How to Connect"
|
||||
REINDEX "Delete&Rebuild Index"
|
||||
STATUS "ElectRS Status Info"
|
||||
)
|
||||
|
||||
CHOICE=$(whiptail --clear --title "Electrum Rust Server" --menu "menu" 10 50 4 "${OPTIONS[@]}" 2>&1 >/dev/tty)
|
||||
clear
|
||||
|
||||
case $CHOICE in
|
||||
CONNECT)
|
||||
CONNECT)
|
||||
echo "######## How to Connect to Electrum Rust Server #######"
|
||||
echo
|
||||
echo "Install the Electrum Wallet App on your laptop from:"
|
||||
|
@ -235,13 +241,13 @@ Check 'sudo nginx -t' for a detailed error message.
|
|||
read key
|
||||
sudo /home/admin/config.scripts/blitz.display.sh hide
|
||||
;;
|
||||
STATUS)
|
||||
STATUS)
|
||||
sudo /home/admin/config.scripts/bonus.electrs.sh status
|
||||
echo
|
||||
echo "Press ENTER to get back to main menu."
|
||||
read key
|
||||
;;
|
||||
REINDEX)
|
||||
REINDEX)
|
||||
echo "######## Delete/Rebuild Index ########"
|
||||
echo "# stopping service"
|
||||
sudo systemctl stop electrs
|
||||
|
@ -264,15 +270,15 @@ fi
|
|||
echo "# Making sure services are not running"
|
||||
sudo systemctl stop electrs 2>/dev/null
|
||||
|
||||
# uninstall
|
||||
# install
|
||||
if [ "$1" = "install" ]; then
|
||||
echo "# INSTALL ELECTRS"
|
||||
|
||||
if id "electrs" &>/dev/null; then
|
||||
echo "# user electrs exists already (codebase is installed)"
|
||||
echo "# user electrs exists already (codebase is installed)"
|
||||
else
|
||||
echo "# Installing codebase"
|
||||
|
||||
|
||||
echo
|
||||
echo "# Creating the electrs user"
|
||||
echo
|
||||
|
@ -284,7 +290,7 @@ if [ "$1" = "install" ]; then
|
|||
echo
|
||||
# https://github.com/romanz/electrs/blob/master/doc/usage.md#build-dependencies
|
||||
sudo -u electrs curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sudo -u electrs sh -s -- --default-toolchain none -y
|
||||
sudo apt install -y clang cmake build-essential # for building 'rust-rocksdb'
|
||||
sudo apt install -y clang cmake build-essential # for building 'rust-rocksdb'
|
||||
|
||||
echo
|
||||
echo "# Downloading and building electrs $ELECTRSVERSION. This will take ~40 minutes"
|
||||
|
@ -296,18 +302,11 @@ if [ "$1" = "install" ]; then
|
|||
|
||||
# verify
|
||||
sudo -u electrs /home/admin/config.scripts/blitz.git-verify.sh \
|
||||
"${PGPsigner}" "${PGPpubkeyLink}" "${PGPpubkeyFingerprint}" || exit 1
|
||||
"${PGPsigner}" "${PGPpubkeyLink}" "${PGPpubkeyFingerprint}" || exit 1
|
||||
|
||||
# build
|
||||
sudo -u electrs /home/electrs/.cargo/bin/cargo build --locked --release || exit 1
|
||||
|
||||
echo
|
||||
echo "# The electrs database will be built in /mnt/hdd/app-storage/electrs/db. Takes ~18 hours and ~50Gb diskspace"
|
||||
echo
|
||||
sudo mkdir /mnt/hdd/app-storage/electrs 2>/dev/null
|
||||
sudo chown -R electrs:electrs /mnt/hdd/app-storage/electrs
|
||||
fi
|
||||
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -315,6 +314,16 @@ fi
|
|||
if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
||||
echo "# ACTIVATING ELECTRS"
|
||||
|
||||
# check and create storage dir
|
||||
if ! sudo ls /mnt/hdd/app-storage/electrs 2>/dev/null; then
|
||||
sudo mkdir /mnt/hdd/app-storage/electrs
|
||||
echo
|
||||
echo "# The electrs database will be built in /mnt/hdd/app-storage/electrs/db. Takes ~18 hours and ~50Gb diskspace"
|
||||
echo
|
||||
fi
|
||||
# always fix user id
|
||||
sudo chown -R electrs:electrs /mnt/hdd/app-storage/electrs
|
||||
|
||||
isInstalled=$(sudo ls /etc/systemd/system/electrs.service 2>/dev/null | grep -c 'electrs.service')
|
||||
if [ ${isInstalled} -eq 0 ]; then
|
||||
|
||||
|
@ -365,12 +374,11 @@ server_banner = \"Welcome to electrs $ELECTRSVERSION - the Electrum Rust Server
|
|||
echo
|
||||
echo "# Checking for config.toml"
|
||||
echo
|
||||
if [ ! -f "/home/electrs/.electrs/config.toml" ]
|
||||
then
|
||||
echo "Failed to create config.toml"
|
||||
exit 1
|
||||
else
|
||||
echo "OK"
|
||||
if [ ! -f "/home/electrs/.electrs/config.toml" ]; then
|
||||
echo "Failed to create config.toml"
|
||||
exit 1
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
|
||||
echo
|
||||
|
@ -378,14 +386,14 @@ server_banner = \"Welcome to electrs $ELECTRSVERSION - the Electrum Rust Server
|
|||
echo
|
||||
isElectrs=$(sudo cat /etc/nginx/nginx.conf 2>/dev/null | grep -c 'upstream electrs')
|
||||
if [ ${isElectrs} -gt 0 ]; then
|
||||
echo "electrs is already configured with Nginx. To edit manually run \`sudo nano /etc/nginx/nginx.conf\`"
|
||||
echo "electrs is already configured with Nginx. To edit manually run \`sudo nano /etc/nginx/nginx.conf\`"
|
||||
|
||||
elif [ ${isElectrs} -eq 0 ]; then
|
||||
|
||||
isStream=$(sudo cat /etc/nginx/nginx.conf 2>/dev/null | grep -c 'stream {')
|
||||
if [ ${isStream} -eq 0 ]; then
|
||||
isStream=$(sudo cat /etc/nginx/nginx.conf 2>/dev/null | grep -c 'stream {')
|
||||
if [ ${isStream} -eq 0 ]; then
|
||||
|
||||
echo "
|
||||
echo "
|
||||
stream {
|
||||
upstream electrs {
|
||||
server 127.0.0.1:50001;
|
||||
|
@ -402,9 +410,9 @@ stream {
|
|||
}
|
||||
}" | sudo tee -a /etc/nginx/nginx.conf
|
||||
|
||||
elif [ ${isStream} -eq 1 ]; then
|
||||
sudo truncate -s-2 /etc/nginx/nginx.conf
|
||||
echo "
|
||||
elif [ ${isStream} -eq 1 ]; then
|
||||
sudo truncate -s-2 /etc/nginx/nginx.conf
|
||||
echo "
|
||||
upstream electrs {
|
||||
server 127.0.0.1:50001;
|
||||
}
|
||||
|
@ -420,10 +428,10 @@ stream {
|
|||
}
|
||||
}" | sudo tee -a /etc/nginx/nginx.conf
|
||||
|
||||
elif [ ${isStream} -gt 1 ]; then
|
||||
echo " Too many \`stream\` commands in nginx.conf. Please edit manually: \`sudo nano /etc/nginx/nginx.conf\` and retry"
|
||||
exit 1
|
||||
fi
|
||||
elif [ ${isStream} -gt 1 ]; then
|
||||
echo " Too many \`stream\` commands in nginx.conf. Please edit manually: \`sudo nano /etc/nginx/nginx.conf\` and retry"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo
|
||||
|
@ -477,7 +485,7 @@ WantedBy=multi-user.target
|
|||
fi
|
||||
|
||||
# whitelist downloading to localhost from bitcoind
|
||||
if ! sudo grep -Eq "^whitelist=download@127.0.0.1" /mnt/hdd/bitcoin/bitcoin.conf;then
|
||||
if ! sudo grep -Eq "^whitelist=download@127.0.0.1" /mnt/hdd/bitcoin/bitcoin.conf; then
|
||||
echo "whitelist=download@127.0.0.1" | sudo tee -a /mnt/hdd/bitcoin/bitcoin.conf
|
||||
bitcoindRestart=yes
|
||||
fi
|
||||
|
@ -569,7 +577,7 @@ if [ "$1" = "update" ]; then
|
|||
sudo -u electrs git fetch
|
||||
|
||||
localVersion=$(/home/electrs/electrs/target/release/electrs --version)
|
||||
updateVersion=$(curl --header "X-GitHub-Api-Version:2022-11-28" -s https://api.github.com/repos/romanz/electrs/releases/latest|grep tag_name|head -1|cut -d '"' -f4)
|
||||
updateVersion=$(curl --header "X-GitHub-Api-Version:2022-11-28" -s https://api.github.com/repos/romanz/electrs/releases/latest | grep tag_name | head -1 | cut -d '"' -f4)
|
||||
|
||||
if [ $localVersion = $updateVersion ]; then
|
||||
echo "# Up-to-date on version $localVersion"
|
||||
|
@ -580,11 +588,11 @@ if [ "$1" = "update" ]; then
|
|||
sudo -u electrs git reset --hard $updateVersion
|
||||
|
||||
sudo -u electrs /home/admin/config.scripts/blitz.git-verify.sh \
|
||||
"${PGPsigner}" "${PGPpubkeyLink}" "${PGPpubkeyFingerprint}" || exit 1
|
||||
"${PGPsigner}" "${PGPpubkeyLink}" "${PGPpubkeyFingerprint}" || exit 1
|
||||
|
||||
echo "# Installing build dependencies"
|
||||
sudo -u electrs curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sudo -u electrs sh -s -- --default-toolchain none -y
|
||||
sudo apt install -y clang cmake build-essential # for building 'rust-rocksdb'
|
||||
sudo apt install -y clang cmake build-essential # for building 'rust-rocksdb'
|
||||
echo
|
||||
|
||||
echo "# Build Electrs ..."
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
# https://github.com/cculianu/Fulcrum/releases
|
||||
fulcrumVersion="1.9.8"
|
||||
fulcrumVersion="1.10.0"
|
||||
|
||||
portTCP="50021"
|
||||
portSSL="50022"
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Deactivated - see https://github.com/raspiblitz/raspiblitz/issues/4122
|
||||
# Needs comitted maintainer or will be removed in future versions
|
||||
|
||||
# https://github.com/lnproxy/lnproxy/commits/main
|
||||
LNPROXYVERSION="c1031bbe507623f8f196ff83aa5ea504cca05143"
|
||||
|
||||
# command info
|
||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||
echo "DEACTIVATED FOR REPAIR - see #4122"
|
||||
echo "config script to install or uninstall the lnproxy server"
|
||||
echo "bonus.lnproxy.sh [on|off|menu]"
|
||||
echo "installs the version $LNPROXYVERSION by default"
|
||||
|
@ -83,7 +87,18 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||
|
||||
# build
|
||||
sudo -u lnproxy /usr/local/go/bin/go get lnproxy
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "# FAIL -> go get lnproxy"
|
||||
sudo userdel -rf lnproxy 2>/dev/null
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sudo -u lnproxy /usr/local/go/bin/go build
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "# FAIL -> go build"
|
||||
sudo userdel -rf lnproxy 2>/dev/null
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# manual start (in tmux)
|
||||
# sudo -u lnproxy /home/lnproxy/lnproxy/lnproxy -lnd-cert /home/lnproxy/.lnd/tls.cert /home/lnproxy/lnproxy.macaroon
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# https://lightning.readthedocs.io/
|
||||
|
||||
# https://github.com/ElementsProject/lightning/releases
|
||||
CLVERSION="v23.11.2"
|
||||
CLVERSION="v24.02.1"
|
||||
|
||||
# install the latest master by using the last commit id
|
||||
# https://github.com/ElementsProject/lightning/commit/master
|
||||
|
|
|
@ -17,7 +17,7 @@ echo "# RASPIBLITZ SETUP STATE" > $SETUPFILE
|
|||
sudo chown admin:admin $SETUPFILE
|
||||
sudo chmod 777 $SETUPFILE
|
||||
|
||||
source <(/home/admin/_cache.sh get setupPhase dnsworking)
|
||||
source <(/home/admin/_cache.sh get dnsworking)
|
||||
|
||||
# remember original setupphase
|
||||
orgSetupPhase="${setupPhase}"
|
||||
|
@ -90,7 +90,8 @@ if [ "${setupPhase}" == "migration" ]; then
|
|||
|
||||
fi
|
||||
|
||||
source <(/home/admin/_cache.sh get setupPhase)
|
||||
# fresh import setup values
|
||||
source /home/admin/raspiblitz.info
|
||||
|
||||
############################################
|
||||
# DEFAULT: Basic Setup menu
|
||||
|
|
Loading…
Add table
Reference in a new issue