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