More WIP on new installer

This commit is contained in:
wiz 2020-09-10 14:04:27 +09:00
parent 976a58d15c
commit ea0572384b
No known key found for this signature in database
GPG Key ID: A394E332255A6173

395
install
View File

@ -25,28 +25,28 @@ esac
########################################
# tor onion and clearnet hostname
TOR_INSTALL=true
CERTBOT_INSTALL=true
TOR_INSTALL=ON
CERTBOT_INSTALL=ON
# install 3 network daemons
BITCOIN_INSTALL=true
BISQ_INSTALL=true
ELEMENTS_INSTALL=true
BITCOIN_INSTALL=ON
BISQ_INSTALL=ON
ELEMENTS_INSTALL=ON
# configure 4 network instances
BITCOIN_MAINNET_ENABLE=true
BITCOIN_TESTNET_ENABLE=true
BISQ_MAINNET_ENABLE=true
ELEMENTS_LIQUID_ENABLE=true
BITCOIN_MAINNET_ENABLE=ON
BITCOIN_TESTNET_ENABLE=ON
BISQ_MAINNET_ENABLE=ON
ELEMENTS_LIQUID_ENABLE=ON
# enable lightmode and disable compaction to fit on 1TB SSD drive
BITCOIN_ELECTRS_LIGHT_MODE=true
BITCOIN_ELECTRS_COMPACTION=false
ELEMENTS_ELECTRS_LIGHT_MODE=true
ELEMENTS_ELECTRS_COMPACTION=false
BITCOIN_ELECTRS_LIGHT_MODE=ON
BITCOIN_ELECTRS_COMPACTION=OFF
ELEMENTS_ELECTRS_LIGHT_MODE=ON
ELEMENTS_ELECTRS_COMPACTION=OFF
# automaitcally configure firewall
FIREWALL_CONFIGURE=true
FIREWALL_CONFIGURE=ON
############
# probe OS #
@ -383,7 +383,7 @@ zfsCreateFilesystems()
zfs create -o "mountpoint=${BITCOIN_ELECTRS_HOME}" "${ZPOOL}/bitcoin/electrs"
# electrs mainnet data
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
zfs create -o "mountpoint=${ELECTRS_MAINNET_DATA}" "${ELECTRS_MAINNET_ZPOOL}/electrs/mainnet"
for folder in cache history txstore
do
@ -392,7 +392,7 @@ zfsCreateFilesystems()
fi
# electrs testnet data
if [ "${BITCOIN_TESTNET_ENABLE}" = true ];then
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then
zfs create -o "mountpoint=${ELECTRS_TESTNET_DATA}" "${ELECTRS_TESTNET_ZPOOL}/electrs/testnet"
for folder in cache history txstore
do
@ -401,7 +401,7 @@ zfsCreateFilesystems()
fi
# electrs liquid data
if [ "${ELEMENTS_LIQUID_ENABLE}" = true ];then
if [ "${ELEMENTS_LIQUID_ENABLE}" = ON ];then
zfs create -o "mountpoint=${ELECTRS_LIQUID_DATA}" "${ELECTRS_LIQUID_ZPOOL}/electrs/liquid"
for folder in cache history txstore
do
@ -409,7 +409,7 @@ zfsCreateFilesystems()
done
fi
if [ "${BISQ_INSTALL}" = true ];then
if [ "${BISQ_INSTALL}" = ON ];then
zfs create -o "mountpoint=${BISQ_HOME}" "${ZPOOL}/bisq"
fi
@ -428,7 +428,9 @@ zfsCreateFilesystems()
# does bitcoin exist?
# dialog
##########
# dialog #
##########
: ${DIALOG=dialog}
@ -439,7 +441,7 @@ zfsCreateFilesystems()
: ${DIALOG_ITEM_HELP=4}
: ${DIALOG_ESC=255}
: ${SIG_NONE=0}
: ${SIG_OFFNE=0}
: ${SIG_HUP=1}
: ${SIG_INT=2}
: ${SIG_QUIT=3}
@ -448,126 +450,222 @@ zfsCreateFilesystems()
input=`tempfile 2>/dev/null` || input=/tmp/input$$
output=`tempfile 2>/dev/null` || output=/tmp/test$$
trap "rm -f $input $output" $SIG_NONE $SIG_HUP $SIG_INT $SIG_TRAP $SIG_TERM
case "x$DIALOGOPTS" in
*--no-items*|*--noitem*)
CUT="cut -d: -f1,3"
;;
*)
CUT="cat"
;;
esac
$CUT >$input <<-EOF
Apple:It's an apple.:off
Dog:No, that's not my dog.:ON
Orange:Yeah, that's juicy.:off
Chicken:Normally not a pet.:off
Cat:No, never put a dog and a cat together!:oN
Fish:Cats like fish.:On
Lemon:You know how it tastes.:on
EOF
cat $input | sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' >$output
cat $output >$input
$DIALOG --backtitle "No Such Organization" \
--title "CHECKLIST BOX" "$@" \
--checklist "Hi, this is a checklist box. You can use this to \n\
present a list of choices which can be turned on or \n\
off. If there are more items than can fit on the \n\
screen, the list will be scrolled. You can use the \n\
UP/DOWN arrow keys, the first letter of the choice as a \n\
hot key, or the number keys 1-9 to choose an option. \n\
Press SPACE to toggle an option on/off. \n\n\
Which of the following are fruits?" 20 61 5 \
--file $input 2> $output
retval=$?
tempfile=$output
case $retval in
$DIALOG_OK)
echo "Result: `cat $tempfile`";;
$DIALOG_CANCEL)
echo "Cancel pressed.";;
$DIALOG_HELP)
echo "Help pressed: `cat $tempfile`";;
$DIALOG_EXTRA)
echo "Extra button pressed.";;
$DIALOG_ITEM_HELP)
echo "Item-help button pressed: `cat $tempfile`";;
$DIALOG_ESC)
if test -s $tempfile ; then
cat $tempfile
else
echo "ESC pressed."
fi
;;
esac
trap "rm -f $input $output" $SIG_OFFNE $SIG_HUP $SIG_INT $SIG_TRAP $SIG_TERM
DIALOG_ERROR=254
export DIALOG_ERROR
backtitle="Mempool Fullnode Installer"
title="Mempool Fullnode Installer"
returncode=0
while test $returncode != 1 && test $returncode != 250
do
exec 3>&1
value=`$DIALOG --ok-label "Submit" \
--backtitle "$backtitle" "$@" \
--form "Your fullnode will be installed as follows:" \
20 60 0 \
"Hostname:" 1 1 "$HOSTNAME" 1 10 40 0 \
"UID:" 2 1 "$uid" 2 10 8 0 \
"GID:" 3 1 "$gid" 3 10 8 0 \
"HOME:" 4 1 "$home" 4 10 40 0 \
2>&1 1>&3`
returncode=$?
exec 3>&-
#################
# dialog part 1 #
#################
show=`echo "$value" |sed -e 's/^/ /'`
$CUT >$input <<-EOF
Tor:Enable Tor v3 HS Onion:ON
Certbot:Enable HTTPS using Certbot:ON
Mainnet:Enable Bitcoin Mainnet:ON
Testnet:Enable Bitcoin Testnet:ON
Liquid:Enable Elements Liquid:ON
Bisq:Enable Bisq:ON
Lightmode:Enable Electrs Lightmode to save disk space:ON
Smalldisk:Disable Electrs Compaction to save disk space:ON
Firewall:Enable Firewall:ON
EOF
case $returncode in
$DIALOG_CANCEL)
"$DIALOG" \
--clear \
--backtitle "$backtitle" \
--yesno "Really quit?" 10 30
case $? in
$DIALOG_OK)
break
;;
$DIALOG_CANCEL)
returncode=99
;;
esac
;;
$DIALOG_OK)
"$DIALOG" \
--clear \
--backtitle "$backtitle" --no-collapse --cr-wrap \
--msgbox "Resulting data:\n\
$show" 10 40
;;
$DIALOG_ERROR)
echo "ERROR!$value"
exit
;;
$DIALOG_ESC)
echo "ESC pressed."
exit
;;
*)
echo "Return code was $returncode"
exit
;;
esac
done
cat $input | sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' >$output
cat $output >$input
$DIALOG --backtitle "${backtitle}" \
--title "${title}" "$@" \
--checklist "Toggle the features below to configure your fullnode:\n" \
20 80 10 \
--file $input 2> $output
retval=$?
tempfile=$output
if [ $retval != $DIALOG_OK ];then
echo "Installation aborted."
exit 1
fi
if grep Tor $tempfile >/dev/null 2>&1;then
TOR_INSTALL=ON
else
TOR_INSTALL=OFF
fi
if grep Certbot $tempfile >/dev/null 2>&1;then
CERTBOT_INSTALL=ON
else
CERTBOT_INSTALL=OFF
fi
if grep Mainnet $tempfile >/dev/null 2>&1;then
BITCOIN_MAINNET_ENABLE=ON
else
BITCOIN_MAINNET_ENABLE=OFF
fi
if grep Testnet $tempfile >/dev/null 2>&1;then
BITCOIN_TESTNET_ENABLE=ON
else
BITCOIN_TESTNET_ENABLE=OFF
fi
if grep Liquid $tempfile >/dev/null 2>&1;then
ELEMENTS_INSTALL=ON
ELEMENTS_LIQUID_ENABLE=ON
else
ELEMENTS_INSTALL=OFF
ELEMENTS_LIQUID_ENABLE=OFF
fi
if grep Bisq $tempfile >/dev/null 2>&1;then
BISQ_INSTALL=ON
BISQ_MAINNET_ENABLE=ON
else
BISQ_INSTALL=OFF
BISQ_MAINNET_ENABLE=OFF
fi
if grep Lightmode $tempfile >/dev/null 2>&1;then
BITCOIN_ELECTRS_LIGHT_MODE=ON
else
BITCOIN_ELECTRS_LIGHT_MODE=OFF
fi
if grep Smalldisk $tempfile >/dev/null 2>&1;then
BITCOIN_ELECTRS_LIGHT_MODE=ON
else
BITCOIN_ELECTRS_LIGHT_MODE=OFF
fi
#################
# dialog part 2 #
#################
$DIALOG --cr-wrap \
--title "INPUT BOX" --clear \
--inputbox "$@" \
"Enter the FQDN hostname for obtaining an SSL certificate using Certbot:" 0 0 "${HOSTNAME}" 2> $tempfile
HOSTNAME=$(cat $tempfile)
#################
# dialog part 3 #
#################
# --form text height width formheight
# [ label y x item y x flen ilen ]
#"BISQ_BLOCKNOTIFY_HOST" 0 1 "${BISQ_BLOCKNOTIFY_HOST}" 0 30 0 0 \
$DIALOG --ok-label "Submit" \
--backtitle "$backtitle" "$@" \
--form "Your fullnode will be installed as follows:" 30 70 0 \
"BISQ_BLOCKNOTIFY_PORT" 1 1 "${BISQ_BLOCKNOTIFY_PORT}" 1 35 35 0 \
"BISQ_GROUP" 2 1 "${BISQ_GROUP}" 2 35 35 0 \
"BISQ_HOME" 3 1 "${BISQ_HOME}" 3 35 35 0 \
"BISQ_INSTALL" 4 1 "${BISQ_INSTALL}" 4 35 35 0 \
"BISQ_LATEST_RELEASE" 5 1 "${BISQ_LATEST_RELEASE}" 5 35 35 0 \
"BISQ_MAINNET_ENABLE" 6 1 "${BISQ_MAINNET_ENABLE}" 6 35 35 0 \
"BISQ_REPO_BRANCH" 7 1 "${BISQ_REPO_BRANCH}" 7 35 35 0 \
"BISQ_REPO_NAME" 8 1 "${BISQ_REPO_NAME}" 8 35 35 0 \
"BISQ_REPO_URL" 9 1 "${BISQ_REPO_URL}" 9 35 35 0 \
"BISQ_USER" 10 1 "${BISQ_USER}" 10 35 35 0 \
"BITCOIN_ELECTRS_COMPACTION" 11 1 "${BITCOIN_ELECTRS_COMPACTION}" 11 35 35 0 \
"BITCOIN_ELECTRS_HOME" 12 1 "${BITCOIN_ELECTRS_HOME}" 12 35 35 0 \
"BITCOIN_ELECTRS_LATEST_RELEASE" 13 1 "${BITCOIN_ELECTRS_LATEST_RELEASE}" 13 35 35 0 \
"BITCOIN_ELECTRS_LIGHT_MODE" 14 1 "${BITCOIN_ELECTRS_LIGHT_MODE}" 14 35 35 0 \
"BITCOIN_ELECTRS_REPO_BRANCH" 15 1 "${BITCOIN_ELECTRS_REPO_BRANCH}" 15 35 35 0 \
"BITCOIN_ELECTRS_REPO_NAME" 16 1 "${BITCOIN_ELECTRS_REPO_NAME}" 16 35 35 0 \
"BITCOIN_ELECTRS_REPO_URL" 17 1 "${BITCOIN_ELECTRS_REPO_URL}" 17 35 35 0 \
"BITCOIN_GROUP" 18 1 "${BITCOIN_GROUP}" 18 35 35 0 \
"BITCOIN_HOME" 19 1 "${BITCOIN_HOME}" 19 35 35 0 \
"BITCOIN_INSTALL" 20 1 "${BITCOIN_INSTALL}" 20 35 35 0 \
"BITCOIN_LATEST_RELEASE" 21 1 "${BITCOIN_LATEST_RELEASE}" 21 35 35 0 \
"BITCOIN_MAINNET_ENABLE" 22 1 "${BITCOIN_MAINNET_ENABLE}" 22 35 35 0 \
"BITCOIN_MAINNET_P2P_HOST" 23 1 "${BITCOIN_MAINNET_P2P_HOST}" 23 35 35 0 \
"BITCOIN_MAINNET_P2P_PORT" 24 1 "${BITCOIN_MAINNET_P2P_PORT}" 24 35 35 0 \
"BITCOIN_MAINNET_RPC_HOST" 25 1 "${BITCOIN_MAINNET_RPC_HOST}" 25 35 35 0 \
"BITCOIN_MAINNET_RPC_PASS" 26 1 "${BITCOIN_MAINNET_RPC_PASS}" 26 35 35 0 \
"BITCOIN_MAINNET_RPC_PORT" 27 1 "${BITCOIN_MAINNET_RPC_PORT}" 27 35 35 0 \
"BITCOIN_MAINNET_RPC_USER" 28 1 "${BITCOIN_MAINNET_RPC_USER}" 28 35 35 0 \
"BITCOIN_REPO_BRANCH" 29 1 "${BITCOIN_REPO_BRANCH}" 29 35 35 0 \
"BITCOIN_REPO_NAME" 30 1 "${BITCOIN_REPO_NAME}" 30 35 35 0 \
"BITCOIN_REPO_URL" 31 1 "${BITCOIN_REPO_URL}" 31 35 35 0 \
"BITCOIN_TESTNET_DATA" 32 1 "${BITCOIN_TESTNET_DATA}" 32 35 35 0 \
"BITCOIN_TESTNET_ENABLE" 33 1 "${BITCOIN_TESTNET_ENABLE}" 33 35 35 0 \
"BITCOIN_TESTNET_P2P_HOST" 34 1 "${BITCOIN_TESTNET_P2P_HOST}" 34 35 35 0 \
"BITCOIN_TESTNET_P2P_PORT" 35 1 "${BITCOIN_TESTNET_P2P_PORT}" 35 35 35 0 \
"BITCOIN_TESTNET_RPC_HOST" 36 1 "${BITCOIN_TESTNET_RPC_HOST}" 36 35 35 0 \
"BITCOIN_TESTNET_RPC_PASS" 37 1 "${BITCOIN_TESTNET_RPC_PASS}" 37 35 35 0 \
"BITCOIN_TESTNET_RPC_PORT" 38 1 "${BITCOIN_TESTNET_RPC_PORT}" 38 35 35 0 \
"BITCOIN_TESTNET_RPC_USER" 39 1 "${BITCOIN_TESTNET_RPC_USER}" 39 35 35 0 \
"BITCOIN_USER" 40 1 "${BITCOIN_USER}" 40 35 35 0 \
"ELECTRS_DATA_ROOT" 41 1 "${ELECTRS_DATA_ROOT}" 41 35 35 0 \
"ELECTRS_LIQUID_DATA" 42 1 "${ELECTRS_LIQUID_DATA}" 42 35 35 0 \
"ELECTRS_LIQUID_HTTP_HOST" 43 1 "${ELECTRS_LIQUID_HTTP_HOST}" 43 35 35 0 \
"ELECTRS_LIQUID_HTTP_PORT" 44 1 "${ELECTRS_LIQUID_HTTP_PORT}" 44 35 35 0 \
"ELECTRS_LIQUID_ZPOOL" 45 1 "${ELECTRS_LIQUID_ZPOOL}" 45 35 35 0 \
"ELECTRS_MAINNET_DATA" 46 1 "${ELECTRS_MAINNET_DATA}" 46 35 35 0 \
"ELECTRS_MAINNET_HTTP_HOST" 47 1 "${ELECTRS_MAINNET_HTTP_HOST}" 47 35 35 0 \
"ELECTRS_MAINNET_HTTP_PORT" 48 1 "${ELECTRS_MAINNET_HTTP_PORT}" 48 35 35 0 \
"ELECTRS_MAINNET_ZPOOL" 49 1 "${ELECTRS_MAINNET_ZPOOL}" 49 35 35 0 \
"ELECTRS_TESTNET_DATA" 50 1 "${ELECTRS_TESTNET_DATA}" 50 35 35 0 \
"ELECTRS_TESTNET_HTTP_HOST" 51 1 "${ELECTRS_TESTNET_HTTP_HOST}" 51 35 35 0 \
"ELECTRS_TESTNET_HTTP_PORT" 52 1 "${ELECTRS_TESTNET_HTTP_PORT}" 52 35 35 0 \
"ELECTRS_TESTNET_ZPOOL" 53 1 "${ELECTRS_TESTNET_ZPOOL}" 53 35 35 0 \
"ELEMENTS_ELECTRS_COMPACTION" 54 1 "${ELEMENTS_ELECTRS_COMPACTION}" 54 35 35 0 \
"ELEMENTS_ELECTRS_HOME" 55 1 "${ELEMENTS_ELECTRS_HOME}" 55 35 35 0 \
"ELEMENTS_ELECTRS_LATEST_RELEASE" 56 1 "${ELEMENTS_ELECTRS_LATEST_RELEASE}" 56 35 35 0 \
"ELEMENTS_ELECTRS_LIGHT_MODE" 57 1 "${ELEMENTS_ELECTRS_LIGHT_MODE}" 57 35 35 0 \
"ELEMENTS_ELECTRS_REPO_BRANCH" 58 1 "${ELEMENTS_ELECTRS_REPO_BRANCH}" 58 35 35 0 \
"ELEMENTS_ELECTRS_REPO_NAME" 59 1 "${ELEMENTS_ELECTRS_REPO_NAME}" 59 35 35 0 \
"ELEMENTS_ELECTRS_REPO_URL" 60 1 "${ELEMENTS_ELECTRS_REPO_URL}" 60 35 35 0 \
"ELEMENTS_GROUP" 61 1 "${ELEMENTS_GROUP}" 61 35 35 0 \
"ELEMENTS_HOME" 62 1 "${ELEMENTS_HOME}" 62 35 35 0 \
"ELEMENTS_INSTALL" 63 1 "${ELEMENTS_INSTALL}" 63 35 35 0 \
"ELEMENTS_LATEST_RELEASE" 64 1 "${ELEMENTS_LATEST_RELEASE}" 64 35 35 0 \
"ELEMENTS_LIQUID_ENABLE" 65 1 "${ELEMENTS_LIQUID_ENABLE}" 65 35 35 0 \
"ELEMENTS_LIQUID_P2P_HOST" 66 1 "${ELEMENTS_LIQUID_P2P_HOST}" 66 35 35 0 \
"ELEMENTS_LIQUID_P2P_PORT" 67 1 "${ELEMENTS_LIQUID_P2P_PORT}" 67 35 35 0 \
"ELEMENTS_LIQUID_RPC_HOST" 68 1 "${ELEMENTS_LIQUID_RPC_HOST}" 68 35 35 0 \
"ELEMENTS_LIQUID_RPC_PASS" 69 1 "${ELEMENTS_LIQUID_RPC_PASS}" 69 35 35 0 \
"ELEMENTS_LIQUID_RPC_PORT" 70 1 "${ELEMENTS_LIQUID_RPC_PORT}" 70 35 35 0 \
"ELEMENTS_LIQUID_RPC_USER" 71 1 "${ELEMENTS_LIQUID_RPC_USER}" 71 35 35 0 \
"ELEMENTS_REPO_BRANCH" 72 1 "${ELEMENTS_REPO_BRANCH}" 72 35 35 0 \
"ELEMENTS_REPO_NAME" 73 1 "${ELEMENTS_REPO_NAME}" 73 35 35 0 \
"ELEMENTS_REPO_URL" 74 1 "${ELEMENTS_REPO_URL}" 74 35 35 0 \
"ELEMENTS_USER" 75 1 "${ELEMENTS_USER}" 75 35 35 0 \
"MEMPOOL_BISQ_HTTP_HOST" 76 1 "${MEMPOOL_BISQ_HTTP_HOST}" 76 35 35 0 \
"MEMPOOL_BISQ_HTTP_PORT" 77 1 "${MEMPOOL_BISQ_HTTP_PORT}" 77 35 35 0 \
"MEMPOOL_GROUP" 78 1 "${MEMPOOL_GROUP}" 78 35 35 0 \
"MEMPOOL_HOME" 79 1 "${MEMPOOL_HOME}" 79 35 35 0 \
"MEMPOOL_LATEST_RELEASE" 80 1 "${MEMPOOL_LATEST_RELEASE}" 80 35 35 0 \
"MEMPOOL_LIQUID_HTTP_HOST" 81 1 "${MEMPOOL_LIQUID_HTTP_HOST}" 81 35 35 0 \
"MEMPOOL_LIQUID_HTTP_PORT" 82 1 "${MEMPOOL_LIQUID_HTTP_PORT}" 82 35 35 0 \
"MEMPOOL_MAINNET_HTTP_HOST" 83 1 "${MEMPOOL_MAINNET_HTTP_HOST}" 83 35 35 0 \
"MEMPOOL_MAINNET_HTTP_PORT" 84 1 "${MEMPOOL_MAINNET_HTTP_PORT}" 84 35 35 0 \
"MEMPOOL_REPO_BRANCH" 85 1 "${MEMPOOL_REPO_BRANCH}" 85 35 35 0 \
"MEMPOOL_REPO_NAME" 86 1 "${MEMPOOL_REPO_NAME}" 86 35 35 0 \
"MEMPOOL_REPO_URL" 87 1 "${MEMPOOL_REPO_URL}" 87 35 35 0 \
"MEMPOOL_TESTNET_HTTP_HOST" 88 1 "${MEMPOOL_TESTNET_HTTP_HOST}" 88 35 35 0 \
"MEMPOOL_TESTNET_HTTP_PORT" 89 1 "${MEMPOOL_TESTNET_HTTP_PORT}" 89 35 35 0 \
"MEMPOOL_TOR_HS" 90 1 "${MEMPOOL_TOR_HS}" 90 35 35 0 \
"MEMPOOL_USER" 91 1 "${MEMPOOL_USER}" 91 35 35 0 \
"HOSTNAME" 92 1 "${HOSTNAME}" 92 35 35 0 \
"TOR_INSTALL" 93 1 "${TOR_INSTALL}" 93 35 35 0 \
"CERTBOT_INSTALL" 94 1 "${CERTBOT_INSTALL}" 94 35 35 0 \
retval=$?
if [ $retval != $DIALOG_OK ];then
echo "Installation aborted."
exit 1
fi
############################
# START DOING ACTUAL STUFF #
@ -576,7 +674,6 @@ done
date
echo "[*] Mempool installation script for ${OS}"
set
exit 0
###################################
@ -609,7 +706,7 @@ osSudo "${MEMPOOL_USER}" git clone --branch "${MEMPOOL_REPO_BRANCH}" "${MEMPOOL_
# Tor installation #
####################
if [ "${TOR_INSTALL}" = true ];then
if [ "${TOR_INSTALL}" = ON ];then
echo "[*] Installing Tor package"
osPackageInstall "${TOR_PKG}"
@ -633,7 +730,7 @@ fi
# Bitcoin installation #
########################
if [ "${BITCOIN_INSTALL}" = true ];then
if [ "${BITCOIN_INSTALL}" = ON ];then
echo "[*] Creating Bitcoin user with Tor access"
osSudo "${ROOT_USER}" useradd -d "${BITCOIN_HOME}" -G "${TOR_GROUP}" "${BITCOIN_USER}"
@ -658,7 +755,7 @@ fi
# Elements installation #
#########################
if [ "${ELEMENTS_INSTALL}" = true ];then
if [ "${ELEMENTS_INSTALL}" = ON ];then
echo "[*] Creating Elements user with Tor access"
osSudo "${ROOT_USER}" useradd -d "${ELEMENTS_HOME}" -G "${TOR_GROUP}" "${ELEMENTS_USER}"
@ -719,7 +816,7 @@ osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_ELECTRS_HOME} && cargo run --rele
# Bisq installation #
#####################
if [ "${BISQ_INSTALL}" = true ];then
if [ "${BISQ_INSTALL}" = ON ];then
echo "[*] Creating Bisq user with Tor access"
osSudo "${BISQ_USER}" useradd -d "${BISQ_HOME}" -G "${TOR_GROUP}" "${BISQ_USER}"
@ -739,7 +836,7 @@ fi
# Bitcoin instance for Mainnet #
################################
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
echo "[*] Installing Bitcoin Mainnet RPC credentials"
osSudo "${ROOT_USER}" sed -i -e "s/__BITCOIN_MAINNET_RPC_USER__/${BITCOIN_MAINNET_RPC_USER}/" "${BITCOIN_HOME}/bitcoin.conf"
osSudo "${ROOT_USER}" sed -i -e "s/__BITCOIN_MAINNET_RPC_PASS__/${BITCOIN_MAINNET_RPC_PASS}/" "${BITCOIN_HOME}/bitcoin.conf"
@ -752,7 +849,7 @@ fi
# Bitcoin instance for Testnet #
################################
if [ "${BITCOIN_TESTNET_ENABLE}" = true ];then
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then
echo "[*] Installing Bitcoin Testnet RPC credentials"
osSudo "${ROOT_USER}" sed -i -e "s/__BITCOIN_TESTNET_RPC_USER__/${BITCOIN_TESTNET_RPC_USER}/" "${BITCOIN_TESTNET_DATA}/bitcoin.conf"
osSudo "${ROOT_USER}" sed -i -e "s/__BITCOIN_TESTNET_RPC_PASS__/${BITCOIN_TESTNET_RPC_PASS}/" "${BITCOIN_TESTNET_DATA}/bitcoin.conf"
@ -765,28 +862,28 @@ fi
# Electrs instance for Bitcoin Mainnet #
########################################
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
fi
########################################
# Electrs instance for Bitcoin Testnet #
########################################
if [ "${BITCOIN_TESTNET_ENABLE}" = true ];then
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then
fi
########################################
# Electrs instance for Elements Liquid #
########################################
if [ "${ELEMENTS_LIQUID_ENABLE}" = true ];then
if [ "${ELEMENTS_LIQUID_ENABLE}" = ON ];then
fi
#####################################
# Bisq instance for Bitcoin Mainnet #
#####################################
if [ "${BISQ_MAINNET_ENABLE}" = true ];then
if [ "${BISQ_MAINNET_ENABLE}" = ON ];then
echo "[*] Installing Bisq service"
osSudo "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 "${BISQ_HOME}/${BISQ_REPO_NAME}/seednode/bisq.service" "${DEBIAN_SERVICE_HOME}/bisq.service"
osSudo "${ROOT_USER}" sed -i -e "s/#Requires=bitcoin.service/Requires=bitcoin.service/" "${DEBIAN_SERVICE_HOME}/bisq.service"
@ -823,7 +920,7 @@ fi
##### Mempool -> Bitcoin Mainnet instance
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
echo "[*] Creating Mempool instance for Bitcoin Mainnet"
osSudo "${MEMPOOL_USER}" git config --global advice.detachedHead false
osSudo "${MEMPOOL_USER}" git clone --branch "${MEMPOOL_REPO_BRANCH}" "${MEMPOOL_REPO_URL}" "${MEMPOOL_HOME}/mainnet"
@ -841,24 +938,24 @@ osSudo "${ROOT_USER}" service nginx restart
echo "[*] Updating systemd daemon configuration"
osSudo "${ROOT_USER}" systemctl daemon-reload
if [ "${TOR_ENABLE}" = true ];then
if [ "${TOR_ENABLE}" = ON ];then
osSudo "${ROOT_USER}" systemctl enable tor.service
fi
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
osSudo "${ROOT_USER}" systemctl enable bitcoin.service
osSudo "${ROOT_USER}" systemctl enable electrs.service
osSudo "${ROOT_USER}" systemctl enable mempool.service
fi
if [ "${BITCOIN_TESTNET_ENABLE}" = true ];then
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then
osSudo "${ROOT_USER}" systemctl enable bitcoin-testnet.service
osSudo "${ROOT_USER}" systemctl enable electrs-testnet.service
osSudo "${ROOT_USER}" systemctl enable mempool-testnet.service
fi
if [ "${BISQ_MAINNET_ENABLE}" = true ];then
if [ "${BISQ_MAINNET_ENABLE}" = ON ];then
osSudo "${ROOT_USER}" systemctl enable bisq.service
osSudo "${ROOT_USER}" systemctl enable mempool-bisq.service
fi
if [ "${ELEMENTS_LIQUID_ENABLE}" = true ];then
if [ "${ELEMENTS_LIQUID_ENABLE}" = ON ];then
osSudo "${ROOT_USER}" systemctl enable liquid.service
osSudo "${ROOT_USER}" systemctl enable electrs-liquid.service
osSudo "${ROOT_USER}" systemctl enable mempool-liquid.service
@ -866,20 +963,20 @@ fi
##### OS services
if [ "${BITCOIN_MAINNET_ENABLE}" = true ];then
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
echo "[*] Starting Bitcoin Mainnet"
osSudo "${ROOT_USER}" systemctl start bitcoin
osSudo "${ROOT_USER}" systemctl start electrs
osSudo "${ROOT_USER}" journalctl --no-pager --unit bitcoin
fi
if [ "${BITCOIN_TESTNET_ENABLE}" = true ];then
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then
echo "[*] Starting Bitcoin Testnet"
osSudo "${ROOT_USER}" systemctl start bitcoin-testnet
osSudo "${ROOT_USER}" systemctl start electrs-testnet
osSudo "${ROOT_USER}" journalctl --no-pager --unit bitcoin-testnet
fi
if [ "${ELEMENTS_LIQUID_ENABLE}" = true ];then
if [ "${ELEMENTS_LIQUID_ENABLE}" = ON ];then
echo "[*] Starting Elements Liquid"
osSudo "${ROOT_USER}" systemctl start liquid
osSudo "${ROOT_USER}" systemctl start electrs-liquid