mirror of
https://github.com/getAlby/hub.git
synced 2026-08-13 12:33:39 +02:00
134 lines
3.4 KiB
Bash
134 lines
3.4 KiB
Bash
#!/bin/sh
|
|
|
|
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-x86_64.tar.bz2"
|
|
PHOENIX_VERSION="0.1.5"
|
|
PHOENIX_URL="https://github.com/ACINQ/phoenixd/releases/download/v$PHOENIX_VERSION/phoenix-$PHOENIX_VERSION-linux-x64.zip"
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "⚡️ Welcome to AlbyHub"
|
|
echo "-----------------------------------------"
|
|
echo "Installing AlbyHub with phoenixd"
|
|
echo ""
|
|
printf "Absolute install directory path (default: %s/albyhub-phoenixd): " "$HOME"
|
|
read USER_INSTALL_DIR
|
|
|
|
INSTALL_DIR="${USER_INSTALL_DIR:-$HOME/albyhub-phoenixd}"
|
|
|
|
echo "Installing phoenixd $PHOENIX_VERSION into $INSTALL_DIR"
|
|
|
|
mkdir -p "$INSTALL_DIR"
|
|
mkdir -p "$INSTALL_DIR/phoenixd"
|
|
|
|
cd "$INSTALL_DIR" || exit 1
|
|
|
|
wget "$PHOENIX_URL"
|
|
unzip -j "phoenix-$PHOENIX_VERSION-linux-x64.zip" -d phoenixd
|
|
|
|
mkdir -p "$INSTALL_DIR/albyhub"
|
|
wget "$ALBYHUB_URL"
|
|
if ! tar xvf server-linux-x86_64.tar.bz2 --directory=albyhub; then
|
|
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
|
|
echo "Install it with sudo apt-get install bzip2"
|
|
exit 1
|
|
fi
|
|
|
|
rm server-linux-x86_64.tar.bz2
|
|
rm "phoenix-$PHOENIX_VERSION-linux-x64.zip"
|
|
|
|
### Create start scripts
|
|
tee "$INSTALL_DIR/phoenixd/start.sh" > /dev/null << EOF
|
|
#!/bin/sh
|
|
|
|
echo "Starting phoenixd"
|
|
echo "Make sure to backup your phoenixd data in $INSTALL_DIR/phoenixd/data"
|
|
PHOENIX_DATADIR="$INSTALL_DIR/phoenixd/data" $INSTALL_DIR/phoenixd/phoenixd --agree-to-terms-of-service --http-bind-ip=0.0.0.0
|
|
EOF
|
|
|
|
tee "$INSTALL_DIR/albyhub/start.sh" > /dev/null << EOF
|
|
#!/bin/sh
|
|
|
|
echo "Starting Alby Hub"
|
|
phoenix_config_file=$INSTALL_DIR/phoenixd/data/phoenix.conf
|
|
PHOENIXD_AUTHORIZATION=\$(awk -F'=' '/^http-password/{print \$2}' "\$phoenix_config_file")
|
|
WORK_DIR="$INSTALL_DIR/albyhub/data" LN_BACKEND_TYPE=PHOENIX PHOENIXD_ADDRESS="http://localhost:9740" PHOENIXD_AUTHORIZATION=\$PHOENIXD_AUTHORIZATION LDK_GOSSIP_SOURCE="" $INSTALL_DIR/albyhub/bin/albyhub
|
|
EOF
|
|
|
|
tee "$INSTALL_DIR/start.sh" > /dev/null << EOF
|
|
#!/bin/sh
|
|
|
|
$INSTALL_DIR/phoenixd/start.sh &
|
|
# wait a bit until phoenixd is started
|
|
# especially on the first run to make sure the config is there
|
|
sleep 8
|
|
$INSTALL_DIR/albyhub/start.sh &
|
|
echo "Started..."
|
|
EOF
|
|
|
|
chmod +x "$INSTALL_DIR/start.sh"
|
|
chmod +x "$INSTALL_DIR/phoenixd/start.sh"
|
|
chmod +x "$INSTALL_DIR/albyhub/start.sh"
|
|
|
|
echo ""
|
|
echo ""
|
|
echo "Installation done."
|
|
echo ""
|
|
|
|
printf "Do you want to setup a systemd service? (y/n): "
|
|
read REPLY
|
|
case "$REPLY" in
|
|
[Yy]*) ;;
|
|
*)
|
|
echo "Run $INSTALL_DIR/start.sh to start phoenixd and Alby Hub"
|
|
echo "DONE"
|
|
exit
|
|
;;
|
|
esac
|
|
|
|
sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
|
|
[Unit]
|
|
Description=Alby Hub
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
Restart=always
|
|
RestartSec=1
|
|
User=$USER
|
|
ExecStart=$INSTALL_DIR/albyhub/start.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
sudo tee /etc/systemd/system/phoenixd.service > /dev/null << EOF
|
|
[Unit]
|
|
Description=Phoenixd
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
Restart=always
|
|
RestartSec=1
|
|
User=$USER
|
|
ExecStart=$INSTALL_DIR/phoenixd/start.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
echo ""
|
|
echo ""
|
|
|
|
sudo systemctl enable albyhub
|
|
sudo systemctl enable phoenixd
|
|
sudo systemctl start phoenixd
|
|
sudo systemctl start albyhub
|
|
|
|
echo "Run 'sudo systemctl start/stop albyhub' to start/stop AlbyHub"
|
|
echo "Run 'sudo systemctl start/stop phoenixd' to start/stop phoenixd"
|
|
echo ""
|
|
echo "✅ DONE."
|
|
echo "Alby Hub runs by default on localhost:8080"
|