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-armv6.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-arm/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-armv6.tar.bz2 albyhub-Server-Linux-armv6.tar.bz2; then
  32    echo "❌ Verification failed, aborting installation"
  33    exit 1
  34  fi
  35  
  36  # Extract archives
  37  if ! tar -xvf server-linux-armv6.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-armv6.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  echo "/opt/albyhub/lib" | sudo tee /etc/ld.so.conf.d/albyhub.conf
  50  sudo ldconfig
  51  
  52  PORT=80
  53  URL="http://$HOSTNAME.local"
  54  
  55  ### Create systemd service
  56  sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
  57  [Unit]
  58  Description=Alby Hub
  59  After=network-online.target
  60  Wants=network-online.target
  61  
  62  [Service]
  63  Type=simple
  64  Restart=always
  65  RestartSec=1
  66  User=$USER
  67  ExecStart=/opt/albyhub/bin/albyhub
  68  # Hack to ensure Alby Hub never uses more than 90% CPU
  69  CPUQuota=90%
  70  
  71  Environment="PORT=$PORT"
  72  Environment="WORK_DIR=/opt/albyhub/data"
  73  Environment="LDK_ESPLORA_SERVER=https://electrs.getalbypro.com"
  74  Environment="LDK_GOSSIP_SOURCE="
  75  
  76  [Install]
  77  WantedBy=multi-user.target
  78  EOF
  79  
  80  sudo systemctl enable albyhub
  81  sudo systemctl start albyhub
  82  
  83  echo ""
  84  echo ""
  85  echo "✅ Installation finished! Please visit $URL to configure your new Alby Hub."
  86  echo ""
  87