install.sh raw

   1  #!/bin/sh
   2  
   3  VERIFIER_URL="https://getalby.com/install/hub/verify.sh"
   4  
   5  echo ""
   6  echo ""
   7  echo "⚡️ Welcome to Alby Hub"
   8  echo "-----------------------------------------"
   9  echo "Installing..."
  10  
  11  
  12  sudo mkdir -p /opt/albyhub
  13  sudo chown -R "$USER:$USER" /opt/albyhub
  14  cd /opt/albyhub || exit 1
  15  wget https://getalby.com/install/hub/server-linux-aarch64.tar.bz2
  16  
  17  # add an update script to keep the Hub up to date
  18  # run this to update the hub
  19  wget https://raw.githubusercontent.com/getAlby/hub/master/scripts/pi-aarch64/update.sh
  20  chmod +x update.sh
  21  
  22  if [ ! -f "verify.sh" ]; then
  23    echo "Downloading the verification script..."
  24    if ! wget -q "$VERIFIER_URL"; then
  25      echo "❌ Failed to download the verification script." >&2
  26      exit 1
  27    fi
  28    chmod +x verify.sh
  29  fi
  30  
  31  if ! ./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2; then
  32    echo "❌ Verification failed, aborting installation"
  33    exit 1
  34  fi
  35  
  36  # Extract archives
  37  if ! tar -xvf server-linux-aarch64.tar.bz2; then
  38    echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
  39    echo "Install it with sudo apt-get install bzip2"
  40    exit 1
  41  fi
  42  
  43  # Cleanup
  44  rm server-linux-aarch64.tar.bz2
  45  
  46  # allow albyhub to bind on port 80
  47  sudo setcap CAP_NET_BIND_SERVICE=+eip /opt/albyhub/bin/albyhub
  48  
  49  # make libs available
  50  echo "/opt/albyhub/lib" | sudo tee /etc/ld.so.conf.d/albyhub.conf
  51  sudo ldconfig
  52  
  53  PORT=80
  54  URL="http://$HOSTNAME.local"
  55  
  56  ### Create systemd service
  57  sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
  58  [Unit]
  59  Description=Alby Hub
  60  After=network-online.target
  61  Wants=network-online.target
  62  
  63  [Service]
  64  Type=simple
  65  Restart=always
  66  RestartSec=1
  67  User=$USER
  68  ExecStart=/opt/albyhub/bin/albyhub
  69  # Hack to ensure Alby Hub never uses more than 90% CPU
  70  CPUQuota=90%
  71  
  72  Environment="PORT=$PORT"
  73  Environment="WORK_DIR=/opt/albyhub/data"
  74  Environment="LDK_ESPLORA_SERVER=https://electrs.getalbypro.com"
  75  Environment="LDK_GOSSIP_SOURCE="
  76  
  77  [Install]
  78  WantedBy=multi-user.target
  79  EOF
  80  
  81  sudo systemctl enable albyhub
  82  sudo systemctl start albyhub
  83  
  84  echo ""
  85  echo ""
  86  echo "✅ Installation finished! Please visit $URL to configure your new Alby Hub."
  87  echo ""
  88