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