mirror of
https://github.com/cryptosharks131/lndg.git
synced 2026-08-15 12:50:30 +02:00
134 lines
No EOL
4.1 KiB
Bash
134 lines
No EOL
4.1 KiB
Bash
INSTALL_USER=${SUDO_USER:-${USER}}
|
|
REFRESH=20
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
if [ "$INSTALL_USER" == 'root' ] >/dev/null 2>&1; then
|
|
HOME_DIR='/root'
|
|
else
|
|
HOME_DIR="/home/$INSTALL_USER"
|
|
fi
|
|
|
|
function configure_jobs() {
|
|
cat << EOF > $HOME_DIR/lndg/jobs.sh
|
|
#!/bin/bash
|
|
|
|
$HOME_DIR/lndg/.venv/bin/python $HOME_DIR/lndg/jobs.py
|
|
EOF
|
|
|
|
cat << EOF > /etc/systemd/system/jobs-lndg.service
|
|
[Unit]
|
|
Description=Run Jobs For Lndg
|
|
[Service]
|
|
User=$INSTALL_USER
|
|
Group=$INSTALL_USER
|
|
ExecStart=/usr/bin/bash $HOME_DIR/lndg/jobs.sh
|
|
StandardError=append:/var/log/lnd_jobs_error.log
|
|
EOF
|
|
|
|
cat << EOF > /etc/systemd/system/jobs-lndg.timer
|
|
[Unit]
|
|
Description=Run Lndg Jobs Every $REFRESH Seconds
|
|
[Timer]
|
|
OnBootSec=300
|
|
OnUnitActiveSec=$REFRESH
|
|
AccuracySec=1
|
|
[Install]
|
|
WantedBy=timers.target
|
|
EOF
|
|
}
|
|
|
|
function configure_rebalancer() {
|
|
cat << EOF > $HOME_DIR/lndg/rebalancer.sh
|
|
#!/bin/bash
|
|
|
|
$HOME_DIR/lndg/.venv/bin/python $HOME_DIR/lndg/rebalancer.py
|
|
EOF
|
|
|
|
cat << EOF > /etc/systemd/system/rebalancer-lndg.service
|
|
[Unit]
|
|
Description=Run Rebalancer For Lndg
|
|
[Service]
|
|
User=$INSTALL_USER
|
|
Group=$INSTALL_USER
|
|
ExecStart=/usr/bin/bash $HOME_DIR/lndg/rebalancer.sh
|
|
StandardError=append:/var/log/lnd_rebalancer_error.log
|
|
RuntimeMaxSec=3600
|
|
EOF
|
|
|
|
cat << EOF > /etc/systemd/system/rebalancer-lndg.timer
|
|
[Unit]
|
|
Description=Run Lndg Rebalancer Every $REFRESH Seconds
|
|
[Timer]
|
|
OnBootSec=315
|
|
OnUnitActiveSec=$REFRESH
|
|
AccuracySec=1
|
|
[Install]
|
|
WantedBy=timers.target
|
|
EOF
|
|
}
|
|
|
|
function configure_htlc_stream() {
|
|
cat << EOF > $HOME_DIR/lndg/htlc_stream.sh
|
|
#!/bin/bash
|
|
|
|
$HOME_DIR/lndg/.venv/bin/python $HOME_DIR/lndg/htlc_stream.py
|
|
EOF
|
|
|
|
cat << EOF > /etc/systemd/system/htlc-stream-lndg.service
|
|
[Unit]
|
|
Description=Run HTLC Stream For Lndg
|
|
[Service]
|
|
User=$INSTALL_USER
|
|
Group=$INSTALL_USER
|
|
ExecStart=/usr/bin/bash $HOME_DIR/lndg/htlc_stream.sh
|
|
StandardError=append:/var/log/lnd_htlc_stream_error.log
|
|
Restart=always
|
|
RestartSec=60s
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
}
|
|
|
|
function enable_services() {
|
|
systemctl daemon-reload
|
|
sleep 3
|
|
systemctl start jobs-lndg.timer
|
|
systemctl enable jobs-lndg.timer >/dev/null 2>&1
|
|
systemctl start rebalancer-lndg.timer
|
|
systemctl enable rebalancer-lndg.timer >/dev/null 2>&1
|
|
systemctl start htlc-stream-lndg.service
|
|
systemctl enable htlc-stream-lndg.service >/dev/null 2>&1
|
|
}
|
|
|
|
function report_information() {
|
|
echo -e ""
|
|
echo -e "================================================================================================================================"
|
|
echo -e "Backend services and rebalancer setup for LNDg via systemd using user account $INSTALL_USER and a refresh interval of $REFRESH seconds."
|
|
echo -e ""
|
|
echo -e "Jobs Timer Status: ${RED}sudo systemctl status jobs-lndg.timer${NC}"
|
|
echo -e "Rebalancer Timer Status: ${RED}sudo systemctl status rebalancer-lndg.timer${NC}"
|
|
echo -e "HTLC Stream Status: ${RED}sudo systemctl status htlc-stream-lndg.service${NC}"
|
|
echo -e ""
|
|
echo -e "Last Jobs Status: ${RED}sudo systemctl status jobs-lndg.service${NC}"
|
|
echo -e "Last Rebalancer Status: ${RED}sudo systemctl status rebalancer-lndg.service${NC}"
|
|
echo -e ""
|
|
echo -e "To disable your backend services, use the following commands."
|
|
echo -e "Disable Jobs Timer: ${RED}sudo systemctl disable jobs-lndg.timer${NC}"
|
|
echo -e "Disable Rebalancer Timer: ${RED}sudo systemctl disable rebalancer-lndg.timer${NC}"
|
|
echo -e "Disable HTLC Stream: ${RED}sudo systemctl disable htlc-stream-lndg.service${NC}"
|
|
echo -e "Stop Jobs Timer: ${RED}sudo systemctl stop jobs-lndg.timer${NC}"
|
|
echo -e "Stop Rebalancer Timer: ${RED}sudo systemctl stop rebalancer-lndg.timer${NC}"
|
|
echo -e "Stop HTLC Stream: ${RED}sudo systemctl stop htlc-stream-lndg.service${NC}"
|
|
echo -e ""
|
|
echo -e "To re-enable these services, simply replace the disable/stop commands with enable/start."
|
|
echo -e "================================================================================================================================"
|
|
}
|
|
|
|
##### Main #####
|
|
echo -e "Setting up, this may take a few minutes..."
|
|
configure_jobs
|
|
configure_rebalancer
|
|
configure_htlc_stream
|
|
enable_services
|
|
report_information |