Add options for components to be installed in prod install script
This commit is contained in:
		
							parent
							
								
									adfdd1a22c
								
							
						
					
					
						commit
						c9157c974f
					
				@ -668,129 +668,131 @@ ext4CreateDir()
 | 
			
		||||
 | 
			
		||||
# does bitcoin exist?
 | 
			
		||||
 | 
			
		||||
###########
 | 
			
		||||
## dialog #
 | 
			
		||||
###########
 | 
			
		||||
#
 | 
			
		||||
#: ${DIALOG=dialog}
 | 
			
		||||
#
 | 
			
		||||
#: ${DIALOG_OK=0}
 | 
			
		||||
#: ${DIALOG_CANCEL=1}
 | 
			
		||||
#: ${DIALOG_HELP=2}
 | 
			
		||||
#: ${DIALOG_EXTRA=3}
 | 
			
		||||
#: ${DIALOG_ITEM_HELP=4}
 | 
			
		||||
#: ${DIALOG_ESC=255}
 | 
			
		||||
#
 | 
			
		||||
#: ${SIG_OFFNE=0}
 | 
			
		||||
#: ${SIG_HUP=1}
 | 
			
		||||
#: ${SIG_INT=2}
 | 
			
		||||
#: ${SIG_QUIT=3}
 | 
			
		||||
#: ${SIG_KILL=9}
 | 
			
		||||
#: ${SIG_TERM=15}
 | 
			
		||||
#
 | 
			
		||||
#input=`tempfile 2>/dev/null` || input=/tmp/input$$
 | 
			
		||||
#output=`tempfile 2>/dev/null` || output=/tmp/test$$
 | 
			
		||||
#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
 | 
			
		||||
#
 | 
			
		||||
##################
 | 
			
		||||
## dialog part 1 #
 | 
			
		||||
##################
 | 
			
		||||
#
 | 
			
		||||
#$CUT >$input <<-EOF
 | 
			
		||||
#Tor:Enable Tor v3 HS Onion:ON
 | 
			
		||||
#Certbot:Enable HTTPS using Certbot:ON
 | 
			
		||||
#Mainnet:Enable Bitcoin Mainnet:ON
 | 
			
		||||
#Mainnet-Minfee:Enable Bitcoin Mainnet Minfee: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
 | 
			
		||||
#
 | 
			
		||||
#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 Mainnet-Minfee $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_MAINNET_MINFEE_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_MAINNET_MINFEE_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 #
 | 
			
		||||
##########
 | 
			
		||||
 | 
			
		||||
: ${DIALOG=dialog}
 | 
			
		||||
 | 
			
		||||
: ${DIALOG_OK=0}
 | 
			
		||||
: ${DIALOG_CANCEL=1}
 | 
			
		||||
: ${DIALOG_HELP=2}
 | 
			
		||||
: ${DIALOG_EXTRA=3}
 | 
			
		||||
: ${DIALOG_ITEM_HELP=4}
 | 
			
		||||
: ${DIALOG_ESC=255}
 | 
			
		||||
 | 
			
		||||
: ${SIG_OFFNE=0}
 | 
			
		||||
: ${SIG_HUP=1}
 | 
			
		||||
: ${SIG_INT=2}
 | 
			
		||||
: ${SIG_QUIT=3}
 | 
			
		||||
: ${SIG_KILL=9}
 | 
			
		||||
: ${SIG_TERM=15}
 | 
			
		||||
 | 
			
		||||
input=`tempfile 2>/dev/null` || input=/tmp/input$$
 | 
			
		||||
output=`tempfile 2>/dev/null` || output=/tmp/test$$
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
#################
 | 
			
		||||
# dialog part 1 #
 | 
			
		||||
#################
 | 
			
		||||
 | 
			
		||||
$CUT >$input <<-EOF
 | 
			
		||||
Tor:Enable Tor v3 HS Onion:ON
 | 
			
		||||
Mainnet:Enable Bitcoin Mainnet:ON
 | 
			
		||||
Mainnet-Minfee:Enable Bitcoin Mainnet Minfee:ON
 | 
			
		||||
Testnet:Enable Bitcoin Testnet:ON
 | 
			
		||||
Signet:Enable Bitcoin Signet:ON
 | 
			
		||||
Liquid:Enable Elements Liquid:ON
 | 
			
		||||
Liquidtestnet:Enable Elements Liquidtestnet:ON
 | 
			
		||||
Bisq:Enable Bisq:ON
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
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 Mainnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_MAINNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_MAINNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Mainnet-Minfee $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_MAINNET_MINFEE_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_MAINNET_MINFEE_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Testnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_TESTNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_TESTNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Signet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_SIGNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_SIGNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "${BITCOIN_MAINNET_ENABLE}" = ON -o "${BITCOIN_MAINNET_MINFEE_ENABLE}" = ON -o "${BITCOIN_TESTNET_ENABLE}" = ON -o "${BITCOIN_SIGNET_ENABLE}" = ON ];then
 | 
			
		||||
    BITCOIN_INSTALL=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_INSTALL=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Liquid $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    ELEMENTS_LIQUID_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    ELEMENTS_LIQUID_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Liquidtestnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    ELEMENTS_LIQUIDTESTNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    ELEMENTS_LIQUIDTESTNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "${ELEMENTS_LIQUID_ENABLE}" = ON -o "${ELEMENTS_LIQUIDTESTNET_ENABLE}" = ON ];then
 | 
			
		||||
    ELEMENTS_INSTALL=ON
 | 
			
		||||
else
 | 
			
		||||
    ELEMENTS_INSTALL=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
 | 
			
		||||
 | 
			
		||||
##################
 | 
			
		||||
## dialog part 2 #
 | 
			
		||||
##################
 | 
			
		||||
@ -969,12 +971,20 @@ if [ "${BITCOIN_INSTALL}" = ON ];then
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Bitcoin user with Tor access"
 | 
			
		||||
    osGroupCreate "${BITCOIN_GROUP}"
 | 
			
		||||
    osUserCreate "${BITCOIN_USER}" "${BITCOIN_HOME}" "${BITCOIN_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
        osUserCreate "${BITCOIN_USER}" "${BITCOIN_HOME}" "${BITCOIN_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    else
 | 
			
		||||
        osUserCreate "${BITCOIN_USER}" "${BITCOIN_HOME}" "${BITCOIN_GROUP}"
 | 
			
		||||
    fi
 | 
			
		||||
    osSudo "${ROOT_USER}" chsh -s `which zsh` "${BITCOIN_USER}"
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Bitcoin minfee user with Tor access"
 | 
			
		||||
    osGroupCreate "${MINFEE_GROUP}"
 | 
			
		||||
    osUserCreate "${MINFEE_USER}" "${MINFEE_HOME}" "${MINFEE_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
        osUserCreate "${MINFEE_USER}" "${MINFEE_HOME}" "${MINFEE_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    else
 | 
			
		||||
        osUserCreate "${MINFEE_USER}" "${MINFEE_HOME}" "${MINFEE_GROUP}"
 | 
			
		||||
    fi
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${MINFEE_USER}:${MINFEE_GROUP}" "${MINFEE_HOME}"
 | 
			
		||||
    osSudo "${ROOT_USER}" chsh -s `which zsh` "${MINFEE_USER}"
 | 
			
		||||
    osSudo "${MINFEE_USER}" touch "${MINFEE_HOME}/.zshrc"
 | 
			
		||||
@ -1022,7 +1032,11 @@ if [ "${ELEMENTS_INSTALL}" = ON ];then
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Elements user with Tor access"
 | 
			
		||||
    osGroupCreate "${ELEMENTS_GROUP}"
 | 
			
		||||
    osUserCreate "${ELEMENTS_USER}" "${ELEMENTS_HOME}" "${ELEMENTS_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
        osUserCreate "${ELEMENTS_USER}" "${ELEMENTS_HOME}" "${ELEMENTS_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    else
 | 
			
		||||
        osUserCreate "${ELEMENTS_USER}" "${ELEMENTS_HOME}" "${ELEMENTS_GROUP}"
 | 
			
		||||
    fi
 | 
			
		||||
    osSudo "${ROOT_USER}" chsh -s `which zsh` "${ELEMENTS_USER}"
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Elements data folder"
 | 
			
		||||
@ -1063,9 +1077,15 @@ fi
 | 
			
		||||
echo "[*] Creating Bitcoin Electrs data folder"
 | 
			
		||||
osSudo "${ROOT_USER}" mkdir -p "${BITCOIN_ELECTRS_HOME}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${BITCOIN_ELECTRS_HOME}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_MAINNET_DATA}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_TESTNET_DATA}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_SIGNET_DATA}"
 | 
			
		||||
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then 
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_MAINNET_DATA}"
 | 
			
		||||
fi
 | 
			
		||||
if [ "${BITCOIN_TESTNET_ENABLE}" = ON ];then 
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_TESTNET_DATA}"
 | 
			
		||||
fi
 | 
			
		||||
if [ "${BITCOIN_SIGNET_ENABLE}" = ON ];then 
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${BITCOIN_USER}:${BITCOIN_GROUP}" "${ELECTRS_SIGNET_DATA}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo "[*] Cloning Bitcoin Electrs repo from ${BITCOIN_ELECTRS_REPO_URL}"
 | 
			
		||||
osSudo "${BITCOIN_USER}" git config --global advice.detachedHead false
 | 
			
		||||
@ -1105,43 +1125,46 @@ osSudo "${BITCOIN_USER}" sh -c "cd ${BITCOIN_ELECTRS_HOME} && cargo run --releas
 | 
			
		||||
# Liquid -> Electrs installation #
 | 
			
		||||
##################################
 | 
			
		||||
 | 
			
		||||
echo "[*] Creating Liquid Electrs data folder"
 | 
			
		||||
osSudo "${ROOT_USER}" mkdir -p "${ELEMENTS_ELECTRS_HOME}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELEMENTS_HOME}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELEMENTS_ELECTRS_HOME}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELECTRS_LIQUID_DATA}"
 | 
			
		||||
osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELECTRS_LIQUIDTESTNET_DATA}"
 | 
			
		||||
 | 
			
		||||
echo "[*] Cloning Liquid Electrs repo from ${ELEMENTS_ELECTRS_REPO_URL}"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git clone --branch "${ELEMENTS_ELECTRS_REPO_BRANCH}" "${ELEMENTS_ELECTRS_REPO_URL}" "${ELEMENTS_HOME}/${ELEMENTS_ELECTRS_REPO_NAME}"
 | 
			
		||||
 | 
			
		||||
echo "[*] Checking out Liquid Electrs ${ELEMENTS_ELECTRS_LATEST_RELEASE}"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_HOME}/${ELEMENTS_ELECTRS_REPO_NAME} && git checkout ${ELEMENTS_ELECTRS_LATEST_RELEASE}"
 | 
			
		||||
 | 
			
		||||
echo "[*] Cloning Liquid Asset Registry repo from ${LIQUID_ASSET_REGISTRY_DB_URL}"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git clone "${LIQUID_ASSET_REGISTRY_DB_URL}" "${ELEMENTS_HOME}/${LIQUID_ASSET_REGISTRY_DB_NAME}"
 | 
			
		||||
 | 
			
		||||
echo "[*] Cloning Liquid Asset Registry testnet repo from ${LIQUIDTESTNET_ASSET_REGISTRY_DB_URL}"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
osSudo "${ELEMENTS_USER}" git clone "${LIQUIDTESTNET_ASSET_REGISTRY_DB_URL}" "${ELEMENTS_HOME}/${LIQUIDTESTNET_ASSET_REGISTRY_DB_NAME}"
 | 
			
		||||
 | 
			
		||||
echo "[*] Building Liquid Electrs release binary"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_ELECTRS_HOME} && cargo run --release --features liquid --bin electrs -- --network liquid --version" || true
 | 
			
		||||
 | 
			
		||||
case $OS in
 | 
			
		||||
    FreeBSD)
 | 
			
		||||
        echo "[*] Patching Liquid Electrs code for FreeBSD"
 | 
			
		||||
        osSudo "${ELEMENTS_USER}" sh -c "cd \"${ELEMENTS_HOME}/.cargo/registry/src/github.com-1ecc6299db9ec823/sysconf-0.3.4\" && patch -p1 < \"${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/freebsd/sysconf.patch\""
 | 
			
		||||
    ;;
 | 
			
		||||
    Debian)
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
echo "[*] Building Liquid Electrs release binary"
 | 
			
		||||
osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_ELECTRS_HOME} && cargo run --release --features liquid --bin electrs -- --network liquid --version" || true
 | 
			
		||||
if [ "${ELEMENTS_INSTALL}" = ON ;then
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Liquid Electrs data folder"
 | 
			
		||||
    osSudo "${ROOT_USER}" mkdir -p "${ELEMENTS_ELECTRS_HOME}"
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELEMENTS_HOME}"
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELEMENTS_ELECTRS_HOME}"
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELECTRS_LIQUID_DATA}"
 | 
			
		||||
    osSudo "${ROOT_USER}" chown -R "${ELEMENTS_USER}:${ELEMENTS_GROUP}" "${ELECTRS_LIQUIDTESTNET_DATA}"
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Cloning Liquid Electrs repo from ${ELEMENTS_ELECTRS_REPO_URL}"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git clone --branch "${ELEMENTS_ELECTRS_REPO_BRANCH}" "${ELEMENTS_ELECTRS_REPO_URL}" "${ELEMENTS_HOME}/${ELEMENTS_ELECTRS_REPO_NAME}"
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Checking out Liquid Electrs ${ELEMENTS_ELECTRS_LATEST_RELEASE}"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_HOME}/${ELEMENTS_ELECTRS_REPO_NAME} && git checkout ${ELEMENTS_ELECTRS_LATEST_RELEASE}"
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Cloning Liquid Asset Registry repo from ${LIQUID_ASSET_REGISTRY_DB_URL}"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git clone "${LIQUID_ASSET_REGISTRY_DB_URL}" "${ELEMENTS_HOME}/${LIQUID_ASSET_REGISTRY_DB_NAME}"
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Cloning Liquid Asset Registry testnet repo from ${LIQUIDTESTNET_ASSET_REGISTRY_DB_URL}"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git config --global advice.detachedHead false
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" git clone "${LIQUIDTESTNET_ASSET_REGISTRY_DB_URL}" "${ELEMENTS_HOME}/${LIQUIDTESTNET_ASSET_REGISTRY_DB_NAME}"
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Building Liquid Electrs release binary"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_ELECTRS_HOME} && cargo run --release --features liquid --bin electrs -- --network liquid --version" || true
 | 
			
		||||
    
 | 
			
		||||
    case $OS in
 | 
			
		||||
        FreeBSD)
 | 
			
		||||
            echo "[*] Patching Liquid Electrs code for FreeBSD"
 | 
			
		||||
            osSudo "${ELEMENTS_USER}" sh -c "cd \"${ELEMENTS_HOME}/.cargo/registry/src/github.com-1ecc6299db9ec823/sysconf-0.3.4\" && patch -p1 < \"${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/freebsd/sysconf.patch\""
 | 
			
		||||
        ;;
 | 
			
		||||
        Debian)
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    
 | 
			
		||||
    echo "[*] Building Liquid Electrs release binary"
 | 
			
		||||
    osSudo "${ELEMENTS_USER}" sh -c "cd ${ELEMENTS_ELECTRS_HOME} && cargo run --release --features liquid --bin electrs -- --network liquid --version" || true
 | 
			
		||||
fi
 | 
			
		||||
    
 | 
			
		||||
#####################
 | 
			
		||||
# Bisq installation #
 | 
			
		||||
#####################
 | 
			
		||||
@ -1150,7 +1173,11 @@ if [ "${BISQ_INSTALL}" = ON ];then
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Bisq user with Tor access"
 | 
			
		||||
    osGroupCreate "${BISQ_GROUP}"
 | 
			
		||||
    osUserCreate "${BISQ_USER}" "${BISQ_HOME}" "${BISQ_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
        osUserCreate "${BISQ_USER}" "${BISQ_HOME}" "${BISQ_GROUP}" "${TOR_GROUP}"
 | 
			
		||||
    else
 | 
			
		||||
        osUserCreate "${BISQ_USER}" "${BISQ_HOME}" "${BISQ_GROUP}"
 | 
			
		||||
    fi
 | 
			
		||||
    osSudo "${ROOT_USER}" chsh -s `which zsh` "${BISQ_USER}"
 | 
			
		||||
 | 
			
		||||
    echo "[*] Creating Bisq data folder"
 | 
			
		||||
@ -1435,7 +1462,9 @@ case $OS in
 | 
			
		||||
            echo "[*] Installing Electrs Signet Cronjob"
 | 
			
		||||
            crontab_bitcoin+="@reboot sleep 90 ; screen -dmS signet /bitcoin/electrs/electrs-start-signet\n"
 | 
			
		||||
        fi
 | 
			
		||||
        echo "${crontab_bitcoin}" | crontab -u "${BITCOIN_USER}" -
 | 
			
		||||
        if [ "${BITCOIN_MAINNET_ENABLE}" = ON -o "${BITCOIN_TESTNET_ENABLE}" = ON -o "${BITCOIN_SIGNET_ENABLE}" = ON ];then
 | 
			
		||||
            echo "${crontab_bitcoin}" | crontab -u "${BITCOIN_USER}" -
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        crontab_elements=()
 | 
			
		||||
        if [ "${ELEMENTS_LIQUID_ENABLE}" = ON ];then
 | 
			
		||||
@ -1446,7 +1475,9 @@ case $OS in
 | 
			
		||||
            echo "[*] Installing Liquid Asset Testnet Cronjob"
 | 
			
		||||
            crontab_elements+="6 * * * * cd $HOME/asset_registry_testnet_db && git pull origin master >/dev/null 2>&1\n"
 | 
			
		||||
        fi
 | 
			
		||||
        echo "${crontab_elements}" | crontab -u "${ELEMENTS_USER}" -
 | 
			
		||||
        if [ "${ELEMENTS_LIQUID_ENABLE}" = ON -o "${ELEMENTS_LIQUIDTESTNET_ENABLE}" = ON ];then
 | 
			
		||||
            echo "${crontab_elements}" | crontab -u "${ELEMENTS_USER}" -
 | 
			
		||||
        fi
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
@ -1459,7 +1490,7 @@ fi
 | 
			
		||||
 | 
			
		||||
##### Mempool -> Bitcoin Mainnet instance
 | 
			
		||||
 | 
			
		||||
if [ "${BITCOIN_MAINNET_ENABLE}" = ON ];then
 | 
			
		||||
if [ "${BITCOIN_MAINNET_ENABLE}" = ON -o "${BITCOIN_TESTNET_ENABLE}" = ON -o "${BITCOIN_SIGNET_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"
 | 
			
		||||
@ -1564,12 +1595,6 @@ _EOF_
 | 
			
		||||
 | 
			
		||||
##### nginx
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
echo "[*] Read tor v3 onion hostnames"
 | 
			
		||||
NGINX_MEMPOOL_ONION=$(cat "${TOR_RESOURCES}/mempool/hostname")
 | 
			
		||||
NGINX_BISQ_ONION=$(cat "${TOR_RESOURCES}/bisq/hostname")
 | 
			
		||||
NGINX_LIQUID_ONION=$(cat "${TOR_RESOURCES}/liquid/hostname")
 | 
			
		||||
 | 
			
		||||
echo "[*] Adding Nginx configuration"
 | 
			
		||||
osSudo "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/nginx/nginx.conf" "${NGINX_CONFIGURATION}"
 | 
			
		||||
mkdir -p /var/cache/nginx/services /var/cache/nginx/api
 | 
			
		||||
@ -1577,9 +1602,15 @@ chown ${NGINX_USER}: /var/cache/nginx/services /var/cache/nginx/api
 | 
			
		||||
ln -s /mempool/mempool /etc/nginx/mempool
 | 
			
		||||
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_USER__!${NGINX_USER}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_ETC_FOLDER__!${NGINX_ETC_FOLDER}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_MEMPOOL_ONION__!${NGINX_MEMPOOL_ONION%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_BISQ_ONION__!${NGINX_BISQ_ONION%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_LIQUID_ONION__!${NGINX_LIQUID_ONIONi%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
echo "[*] Read tor v3 onion hostnames"
 | 
			
		||||
    NGINX_MEMPOOL_ONION=$(cat "${TOR_RESOURCES}/mempool/hostname")
 | 
			
		||||
    NGINX_BISQ_ONION=$(cat "${TOR_RESOURCES}/bisq/hostname")
 | 
			
		||||
    NGINX_LIQUID_ONION=$(cat "${TOR_RESOURCES}/liquid/hostname")
 | 
			
		||||
    osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_MEMPOOL_ONION__!${NGINX_MEMPOOL_ONION%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
    osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_BISQ_ONION__!${NGINX_BISQ_ONION%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
    osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_LIQUID_ONION__!${NGINX_LIQUID_ONIONi%.onion}!" "${NGINX_CONFIGURATION}"
 | 
			
		||||
fi
 | 
			
		||||
echo "[*] Restarting Nginx"
 | 
			
		||||
osSudo "${ROOT_USER}" service nginx restart
 | 
			
		||||
 | 
			
		||||
@ -1642,7 +1673,7 @@ esac
 | 
			
		||||
##### Build Mempool
 | 
			
		||||
 | 
			
		||||
echo "[*] Build Mempool"
 | 
			
		||||
osSudo "${MEMPOOL_USER}" sh -c "cd ${MEMPOOL_HOME} && ./upgrade"
 | 
			
		||||
osSudo "${MEMPOOL_USER}" sh -c "cd ${MEMPOOL_HOME} && ./upgrade" || true
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1727,10 +1758,12 @@ case $OS in
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
    Debian)
 | 
			
		||||
        echo "This are the generated Tor addresses:"
 | 
			
		||||
        echo "${NGINX_MEMPOOL_ONION}"
 | 
			
		||||
        echo "${NGINX_BISQ_ONION}"
 | 
			
		||||
        echo "${NGINX_LIQUID_ONION}"
 | 
			
		||||
        if [ "${TOR_INSTALL}" = ON ];then
 | 
			
		||||
            echo "This are the generated Tor addresses:"
 | 
			
		||||
            echo "${NGINX_MEMPOOL_ONION}"
 | 
			
		||||
            echo "${NGINX_BISQ_ONION}"
 | 
			
		||||
            echo "${NGINX_LIQUID_ONION}"
 | 
			
		||||
        fi
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user