Commit graph

118 commits

Author SHA1 Message Date
ChuckNorrison
1c26120056
LNBits Backup and Restore database (#3412)
* LNBits Backup and Restore database

Add Backup and Restore methods and  menu entries

* LNBits backup target

based on blitz.backupdevice.sh switch backup target to /mnt/backup_manual per default

* Add postgresql script

Script to install or uninstall postgresql

Backup a single database with sql dump file

Restore a single database from sql dump file

* Unpack backup file only for SQLite

For postgresql just use the dedicated script

* Support multiple backup files

After backup file was written, keep only last 3 backups

Restore the recent backup found

* improve backup and restore with config and path

make use of raspiblitz config to retrieve db state for backup and restore

default manual backup path set to /mnt/hdd/app-data/backup

* add info command to postgresql script

retrieve database directory and database names

* update backup path for postgresql script

default path is /mnt/hdd/app-data/backup

this will survive reflash sd card

* improve user feedback

* add dialog for restore and improvements

dialog with confirm restore process

timestamps for backup file names

small improvements for user feedback

only resume if unpack backup succeed

* fix sqlite backup file name

* fix restore path and permissions

* add dialog to choose backup from a list

list all available backups to start restore in a dialog

* fix backup list for sqlite

* fix restore menu

* Update LNBits version with bigint fix for migration

if migrate to postgresql, use lnbits version with latest bigint fixes

* Update bonus.postgresql.sh

* fix postgres backup permissions
2022-12-14 10:40:15 +01:00
/rootzoll
fb9283a06c
Fatpack WebUI Apps (#3514) 2022-12-13 15:28:05 +01:00
/rootzoll
d7d1c40866
#3505 lnbits PostgresSQl migration finalization (#3507)
* fix missing dependencies

* LNBits SQLite to PostgreSQL migration (#3411)

* LNBits SQLite to PostgreSQL migration

New installations with PostgreSQL configuration, existent data with SQLite.

convert script needs a full start of LNBits prior migrating the old sqlite db's.

User can migrate from raspiblitz menu.

* only fix postgres if it needs to

check for symbolik link of postgres default directory or desired postgres folder

btcpayserver and lnbits could use postgresql

new script to install or uninstall postgresql

* fix typos

* silent apt remove

* fix removed function postgresConfig

call bonus.postgresql.sh to setup PostgreSQL

* Support outdated installation

old installations should upgrade to new tag first

create new data directory /mnt/hdd/app-data/LNBits/data

* Improve migration

Make it a bit more user friendly and prepare for a worst case to revert the migration if something fails unexpectedly

make use of sync method for preparation

* Rework migration workflow

Cant wait for lnbits to start when ExecStartPre is used.

We need a full start of lnbits prior migration, so make use of lsof to check for ports and wait.

dont forget to start postgres service after installation. dont forget to stop postgres after uninstall

* Dont overwrite the backup file

if we start migrate again, the sqlite backup should not be overwritten with postgres data. Keep the backup file.

* add migrate message to menu

add the hint to revert migration manually after migrate script executed

* fix install and data directory

lnbits always needs a data directory

* clean up lnbits settings for migration

even if postgresql is already running, we can extract sqlite backup and start migrate

remove migrateMsg duplicate

* preserve database for reflash

drop database only for migrate, not for regular installations

* set blitz config for LNBits

fix drop database only for migrate, not for regular installations

* Add confirmation dialog and automatic revert

User needs to confirm the process, this will eliminate missclicks

add a migrate revert function to automatically revert if something unexpected happens

let the user call the function manually

* check conv.py on success or revert

if the conversion script fails, revert automatically

* Improve revert message

Do not print the revert hint message if current database is SQLite

* fix read config LNBitsDB

* fix unpack backup

Folder LNBits should never block the restore of backup. Happened after multiple migrations and revert.

* Wait for lnbits v0.9.5

Set commit version with fix for postgresql database and BIGINT for amounts for migrate

Can be set to v0.9.5 tag or above later

* improve migrate backup handling

revert to the current backup and not to the previous backup.

No need for the failed folder state

user message with backup file path

* check psql version once

* supress expected errors

if database exists

Co-authored-by: /rootzoll <christian@geektank.de>

* fix error output on status

Co-authored-by: ChuckNorrison <2964146+ChuckNorrison@users.noreply.github.com>
2022-12-10 00:04:15 +01:00
/rootzoll
9d23c63c38
#3313 & #3230 lndg final (#3506)
* Integrate LNDg to Raspiblitz (#3313)

* cl.hsmtool: fix password display

* add clearnet fallback for tor keys

* fix CLN wallet reset (#3296)

* cln: unify and improve the resetWallet function
previously the old config and channel database could have been left
behind when using SEEDRESTORE and FILERESTORE
* prompt to save the wallet password for backup

* change default branch to v1.8 (#3306)

* Adds install script for LNDg (https://github.com/cryptosharks131/lndg)

Install script creates user lndg and installs LNDg in /home/lndg/lndg,
uses systemd for the backend, and uses nginx and uwsgi for the gui.

Install script will check for tor and enable tor
if "run behind tor" is on.

Updates menu settings for easy access to the script settings

* Creates bonus.lndg.sh script for installing LNDg
Adds LNDg to list of apps in "SERVICES"
Adds LNDg to UPDATES when installed
Adds LNDg to menu when installed

Fixed typos/errors, tested and works!

* LNDg menu install. Added ssl, ssl over tor, and standardized nginx files. Tests Good.

* FAQ.cln: poncho, CLN cheatsheet, extract privkey

* #3286 fix loca IP

* fix #3312

* fix lnbits update options (#3307)

* Integrates LNDg to Raspiblitz
Fixes issues with python and python3 (see comments on PR).
Adds option to keep or delete database on both uninstall and install with existing database.

Fixes issues with python and python3 (see comments on PR).
Adds option to keep or delete database on both uninstall and install with existing database.

Update 00settingsMenuServices.sh

Update info menu for LNDg

Adds username and instructions on how to change username

* Update bonus.lndg.sh

* Install LNDg script
Forces yes on install question

* Update blitz.shutdown.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: Dipun Mistry <dipunm@gmail.com>
Co-authored-by: rootzoll <christian@geektank.de>

* added documentation

* #3230 change password B

* #3230 fix to version 1.4.0

Co-authored-by: allyourbankarebelongtous <100060902+allyourbankarebelongtous@users.noreply.github.com>
Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: Dipun Mistry <dipunm@gmail.com>
2022-12-09 21:49:44 +01:00
/rootzoll
f1bba1de0e
simplify lnbits systemd exec line (#3477) 2022-11-26 18:02:51 +01:00
openoms
1f99ac5d0a
Testnets LNbits fix (#3422) 2022-11-16 18:00:35 +01:00
ChuckNorrison
30211575c3
branch master does not exist (#3389)
githubRepo lnbits-legends gets redirected to lnbits

the default branch of lnbits is main
2022-11-04 15:00:37 +00:00
ChuckNorrison
3b0fdc5117
fix ufw delete rule (#3410)
command is ufw delete not delete ufw
2022-11-04 14:45:45 +00:00
openoms
cf5746ca76
lnbits update to v0.9.4 2022-10-15 11:20:20 +01:00
cercatrova
469badb8e5
Update lnbits (#3327) 2022-09-28 14:58:47 +02:00
openoms
36057e6f87
fix lnbits update options (#3307) 2022-09-13 19:16:28 +02:00
rootzoll
8f3257cd27 lnbits 0.9.1 2022-07-28 16:08:15 +02:00
rootzoll
aa474b4fec sudo -u lnbits 2022-07-28 15:15:43 +02:00
rootzoll
92fcd8fe27 try lnbits 0.9.0 2022-07-28 15:04:32 +02:00
rootzoll
2fd904e728 LNbits back to 0.8.0 2022-07-28 00:01:26 +02:00
rootzoll
4ac031abcd Update LNbits to 0.9.0 2022-07-27 22:33:38 +02:00
rootzoll
60d357d753 #2071 lnbits update to 0.8.0 2022-05-17 21:53:05 +02:00
/rootzoll
fd8d880c09
Apiscripts (#3093) 2022-05-05 10:59:50 +02:00
openoms
723d385bb7
lnbits: fix cl funding source on restart #3007 2022-03-06 13:31:51 +00:00
rootzoll
440449c8d8 Update LNbits 0.7.0 2022-02-19 11:21:35 +01:00
openoms
fbf6db75ab
run blitz.display.sh with sudo (#2957) 2022-02-13 13:23:34 +01:00
openoms
d7d127362a
lnbits update to 0.6.0 #2792 2022-02-10 15:46:12 +00:00
openoms
80730729a2
#2556 modify usergroup as part of switch 2022-02-09 19:12:59 +00:00
openoms
04a3a5a440
lnbits: add debug output to check permissions 2022-02-06 19:56:56 +00:00
openoms
18e75b7237
lnbits: update for bitcoinpos
add dep secp256k1 #2792
2022-01-31 22:36:40 +00:00
openoms
53441e3854
lnbits: improve uninstall sequence 2022-01-31 10:24:54 +00:00
rootzoll
a2543cfae0 #2792 test quart remove 2022-01-13 23:46:49 +01:00
openoms
4f6751080c
lnbits: fix typos 2022-01-11 14:55:06 +00:00
/rootzoll
3e831918ba
#2556 change to uvicorn (#2844) 2021-12-23 14:03:46 +01:00
rootzoll
67878d87ad #2556 lnbits switch to fastAPI 2021-12-21 21:49:45 +01:00
rootzoll
ab53050e3f make new scripts use blitz.conf.sh 2021-12-18 00:38:49 +01:00
/rootzoll
88d77d4197
fix #2792 & #2556 LNbits c-lightning (#2808) 2021-12-16 20:10:03 +01:00
/rootzoll
85b0c97d41
big merge of 2388redis & 2669tor (#2790) 2021-12-14 23:34:35 +01:00
openoms
cac14efc46
rename all cln / CLN to cl / CL except CLNETWORK 2021-09-26 10:30:09 +01:00
MR
8daad18e10
Corrected typo in config scripts for lnbits and btcpayserver Webrowser > Web Browser (#2406)
Co-authored-by: Mark Williams <mark.williams@legroomagency.co.uk>
2021-08-19 22:06:27 +02:00
Fitti
ac72abd3fa
Fix LNbits lnurl support over tor (#2485) 2021-08-19 16:41:50 +02:00
/rootzoll
074c9d8549
merging pre-1.7.1 (#2462)
* fix copychain returns

* typo in sync loop

* stop services on inconsistent state

* calling correct provisioning

* apply bitcoin and lncli aliases in all scripts

* network.aliases: add CLNETWORK

* make cln default plugin dir: cln-plugins-enabled

similar to the nginx model make 2 directories for plugins:
cln-plugins-enabled - symlinked to ~/.lightning/plugins
plugins from here are loaded automatically on cln start

cln-plugins-available: plugins are downloaded here to
be run until the next cln restart (or stopped with runonce)

note the disk is mounted with noexec so plugins can't
run from there

discuss in: https://github.com/rootzoll/raspiblitz/issues/2295

* move shutdown script

* change all place where shutdown script is used

* change notify & release

* moved shutdown script

* moved shutdown scripts

* add more debug info

* moving github script

* remove chain in sync

* no longer needed chain in sync

* move debug script

* patch patch command

* make sure setup file is sourced

* remove debug output

* make sure lnd is put behind tor

* change indent

* get fresh sync progress

* avoid scrolling in menus

* use new selfsignedcert if no lnd tls.cert present

* sparko: add info and connect menu with own cert

https://github.com/rootzoll/raspiblitz/issues/2295

* cln.rest: add connect option for Zeus

https://github.com/rootzoll/raspiblitz/issues/2295

* cln: add the backup plugin + options

Usage options:
cln-plugin.backup.sh [on] [testnet|mainnet|signet]
cln-plugin.backup.sh [restore] [testnet|mainnet|signet] [force]
cln-plugin.backup.sh [backup-compact] [testnet|mainnet|signet]
https://github.com/lightningd/plugins/tree/master/backup

Discussed in: https://github.com/rootzoll/raspiblitz/issues/2295

* cln: add cln-plugin.standard.python.sh

Install and show the output of the chosen plugin for C-lightning
Usage:
cln-plugin.standard-python.sh on [plugin-name] [testnet|mainnet|signet] [runonce]
tested plugins:
summary | helpme | feeadjuster

find more at:
https://github.com/lightningd/plugins
discussed in:
https://github.com/rootzoll/raspiblitz/issues/2295

* shellcheck: change all `egrep` to `grep -E`

https://github.com/koalaman/shellcheck/wiki/SC2196

* do not resolve aliases, use as variables

* lnd: fix lnd.conf for parallel networks

discussed in: https://github.com/rootzoll/raspiblitz/issues/2290

* lnd: add LND option for parallel networks

* deprecate Testnet in SETTINGS
keysend and autopilot only for mainnet

due to: https://github.com/rootzoll/raspiblitz/issues/2290

* lnd: autopilot and autounlock for testnet

* fix comments

* add the SYSTEM menu for parallel chains

* RTL update to v0.11.0

make chain specific directory for the config: /home/rtl/${netprefix}RTL/
use ${netprefix}lnd.conf in config
override Environmen tvaribales for cln in the systemd service:
/etc/systemd/system/${netprefix}${typeprefix}RTL.service

discussed in: https://github.com/rootzoll/raspiblitz/issues/2384

* lnd.setname.sh for testnet

* display ${CHAIN} in the SYSTEM menu options

* keep _aliases file when live patches are applied

* all lncli_aliases to be used as variables

* default to KIllMode=control-group in services

https://www.man7.org/linux/man-pages/man5/systemd.kill.5.html
discussed in: https://github.com/rootzoll/raspiblitz/issues/1901

* add cln.hsmtool.sh for  hsm_secret handling

encrypt | decrypt | autounlock the hsm_secret for C-lightning
usage:
cln.hsmtool.sh [unlock] [testnet|mainnet|signet]
cln.hsmtool.sh [encrypt|decrypt] [testnet|mainnet|signet]
cln.hsmtool.sh [autounlock-on|autounlock-off] [testnet|mainnet|signet]

discussed in: https://github.com/rootzoll/raspiblitz/issues/2295

* add cln.install-service.sh to set up cln with systemd

script to set up or update the CLN systemd service
checks for hsm_secret encryption, autounlock and the sparko plugin
usage:
/home/admin/config.scripts/cln.install-service.sh $CHAIN

discussed in: https://github.com/rootzoll/raspiblitz/issues/2295

* use symlink to cln-plugins-enabled for all plugins

* keep lnd autopilot and autounlock mainnet only

mainnet only settings:
lnd autopilot
lnd keysend
circuibreaker
lnd autounlock
StaticChannelBackup to DropBox and USB

* cln FUNDING fix parsing address

* cln.hsmtool: add change-password and lock options

* always set password A

* cached peer info

* fix printing cache

* fix check for existing files

* handle bitcoind not running

* result with newline

* test line break

* test new line

* test new line

* two vars on output

* #2388 improve online check (less pinging)

* used cached peer status

* move chache

* cach file permissions

* allow sudo call

* fix cache

* remove double scan info

* add conf info to sync screen

* reorder info

* add space

* add space

* order info

* internet suppress error messages

* order info

* fix offering Blockchain copy

* fix hostname

* final ready state info

* lnd unlock after provision

* remove debug exit

* harmonize ready state

* add status to lnd unlock

* update lnd unlock script

* edit the unlock

* remove debug echo

* add debug

* add debug

* fix if statement

* debug output

* switch position of source setupdata

* #1126 preparing new setup with new c-lightning  (#2396)

* move debug script

* patch patch command

* make sure setup file is sourced

* remove debug output

* make sure lnd is put behind tor

* change indent

* get fresh sync progress

* always set password A

* cached peer info

* fix printing cache

* fix check for existing files

* handle bitcoind not running

* result with newline

* test line break

* test new line

* test new line

* two vars on output

* #2388 improve online check (less pinging)

* used cached peer status

* move chache

* cach file permissions

* allow sudo call

* fix cache

* remove double scan info

* add conf info to sync screen

* reorder info

* add space

* add space

* order info

* internet suppress error messages

* order info

* fix offering Blockchain copy

* fix hostname

* final ready state info

* lnd unlock after provision

* remove debug exit

* harmonize ready state

* add status to lnd unlock

* update lnd unlock script

* edit the unlock

* remove debug echo

* add debug

* add debug

* fix if statement

* debug output

* switch position of source setupdata

* lnd.unlock: fix typo

* netwok.monitor.sh debug

* cln-plugin.summary: fix paths

* rtl: fix permission of config on copy

* CASHOUT: use aliases for lnd

* rtl: install correctly for paralell chains

* use CHAIN in CLN and LND menu

* cln: add  CASHOUT option

* CLOSEALL and  CASHOUT: Improve labels and comments

Explaining CASHOUT in the label as discussed in:
https://github.com/rootzoll/raspiblitz/issues/2358

* cln.install: fix tor config

* cln: installthe  latest master until the next release

* _commands: source _aliases only if exists

* network aliases: fall back to 'main' for 'chain'

* new setup: keep testnet3 blocks and chainstate

* new setup: improve capitalization in menu

* improve help and comments

* cln: install Sparko if configured, but not present

* cln: add new wallet and import seed options

* fix peernum

* make sure that aliases get created on lnd setup

* no error if aliases not yet exist

* debug state

* fix network alias when not set

* fix syntax error

* add debug error info

* mute unlocking echos

* add debug wait

* add debug wait

* make sure info is uptodate

* make alias info as defaults

* rename option

* update sync info for no lightning

* add action string

* update sync info

* move name dialog

* wait for sync progress info

* wait for syncprogress info

* fix syntax

* get fresh data

* make sure to disable lnd

* add c-lightning to debug

* add setup logs to debug output

* fix syntax error

* add new-force wallet

* try fix call hsmtool

* hsm output tool

* fix output

* add seed-force

* refactor blitz.mnemonic.py

* test seed

* debug info

* dump object

* try check

* correct putput

* fix syntax

* check lnd for valid seed

* fix gui

* add Suez install script

discussed in:
https://github.com/rootzoll/raspiblitz/issues/2366

* cln rescue file export

* get correct version

* add cln export gui

* cln.backup.sh cln-import

* correct bytesize

* generate cln wallet with passwordc

* fix syntax

* fix syntax

* mute not needed error msg

* PEERING: correct message on success

* cln.install-service: fix sparko check

* add Suez to menu for CLN and LND

needs to be installed with the bitcoin user to be able to interact with CLN
related: https://github.com/rootzoll/raspiblitz/issues/2366

* debug _provison.setup.sh

stop bitcoind and restart with new config to avoid rpc password error
disable and enable service instead of daemon-reload
CLN: don't use passwordC  as seedPassword

* add cln.setname.sh

make lnd.setname.sh work with parallel wallets

* improve comments

* SYSTEM: add CLNLOG and CLNCONF options

* SYSTEM menu fixes

* cln: add more aliases cln, clnlog, clnconf

* cln: activate the backup plugin on every install

* SERVICES menu: fix chantools/CLN switch

* cln: load plugins from ${netprefix}cln-plugins-enabled

changed the config paths to $lightning-dir/config or /networkname/config

plugins are downloaded to the SDcard:
/home/bitcoin/cln-plugins-available/
symlinked and loaded automatically from:
/home/bitcoin/${netprefix}cln-plugins-enabled

Related: #2295

* sparko: don't show logs after install

* #2425 Adding experimental Blitz WebUI & API (#2426)

* no password C & D when cln

* add debug echos

* set defaults before

* #2228 wider grep to detect nvms (#2427)

* cln.hsmtool: init backup with the new wallet

* cln.install: fix access to raspiblitz.conf

* cln-plugin.backup: fix path to backup-cli

* cln: hide unhelpful warnings during setup

* remove old jinja template rendering

* fix lnd unlock detection

* cln: look for files in .lightning dir with sudo

* cln: correct lightning name in FInalDialog + typo

* cln: make sure .lightning/bitcoin dir exists

* FinalDialog: make the 24 words fit

* cln.install.sh: create cln config if not present

* Simplify localIP detection and improve compatibility (#2432)

* show tail info on provision

* only show lnd options when activated

* fix syntax

* only show main lightning impl options for RC1

* cln: always start the lightnind.service

* cln: clear before showing summary

* start cln on the end of provisioning

* exit 0 on cln menu

* press key after single actions

* remove key press on cln actions

* change to none

* detect cln running

* fix syntax

* fix lightniing info

* add TODO for CLN

* add clnblockheight

* zty with user bitcoin

* check synced to chain for cln

* fix increment

* try scanprogress

* use cln sync detection and progress

* replace LNTYPE

* next line

* fix spaces

* fix spaces

* Update README.md (#2456)

Fix 404

* Fix FAQ links (#2441)

* Fix invalid URL ( (#2440)

* support channels (#2382)

* use #2370 height optimization

* adjust exit codes in menu scripts

* adjust password menu exit codes

* adapt shutdown for cln

* settings adapt to running lightning impl

* fix syntax

* debug info

* add debug

* better height

* add default values

* add config entry if not there yet

* change default value

* Added exit info for cln

* make sure to load config file if available

* add sparko to menu

* add default for sparko

* replace default sparko entry

* show sparko installed or not

* add more description to sparko option

* RTL for clightnign in service menu

* main menu item rtl

* add RTL description

* debug in RTL install

* install sparko on recovery

* update menu with cln

* rework menu options

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: rek79 <rek79@users.noreply.github.com>
Co-authored-by: Bitpaint <67663265+bitpaint@users.noreply.github.com>
Co-authored-by: João Thallis <joaothallis@icloud.com>
Co-authored-by: Peter Flock <78184669+peterflock@users.noreply.github.com>
Co-authored-by: nyxnor <nyxnor@protonmail.com>
2021-08-04 00:18:30 +02:00
/rootzoll
eaa6993e5a
#2167 smaller fixes for v1.7RC3 (#2206)
* adding spacing line

* prepare v1.7RC3

* fix lnbits macaroon write after reset

* add IP2Tor renew info

* fixing info

* remove debug info

* #2157 LNbits needs https for local

* more info

* reboot on macaroon reset

* fix blocking LIT install

* set correct fonts

* set font for lcd

* #2198 add connect Info

* fix syntax

* fix text layout

* layout text

* fix text layout

* more install info

* fix text layout

* text layout

* text layout

* fix restart lnd

* force lnd RPC/REST standard & open on boot

* #2198 fix fully noded connection

* #2198 deactivate Zap-Android from menu
2021-04-20 00:26:49 +02:00
/rootzoll
d45bf5f25d
#2157 offer http for additional apps & small fixes (#2196) 2021-04-18 18:04:59 +02:00
/rootzoll
5764c51c61
#1265 Display Refactor (#2149) 2021-04-08 00:02:57 +02:00
/rootzoll
37b0662beb
#1646 remove quickfix (#2107) 2021-03-25 00:52:12 +01:00
Christian Rotzoll
3fdfd4c4b7 #1758 improve warning when Sphinx IP2TOR is not ready yet (#1796) 2020-11-23 21:28:12 +01:00
rootzoll
89a9a2776b correct warning dialog 2020-11-20 14:27:24 +01:00
Christian Rotzoll
0dff3bb60d #1758 Bug fixes to connect Sphinx App (#1777) 2020-11-17 02:28:19 +01:00
Christian Rotzoll
6081a63179 Update LNbits install to new frameworks (#1673) 2020-10-14 23:27:53 +02:00
Christian Rotzoll
2610353ab2 #1579 fix vagrant ip (#1669) 2020-10-14 18:53:58 +02:00
Maciej Głowacki
cc7e435206 Ignore docker veth networks during ip extraction (#1595) 2020-10-13 20:03:58 +02:00
Christian Rotzoll
1f350dbeb4 #1412 IP2Tor+LetsEncrypt Functional Test (#1542) 2020-09-14 15:30:47 +02:00
rootzoll
6ae7cdcf92 #1348 LNbits install by requirements.txt 2020-08-14 15:04:59 +02:00
Gabriel Comte
87a7bf9662 Fix typos in dialog box 2020-08-12 09:44:49 +02:00