mirror of
https://github.com/gogrlx/bootstrap.grlx.dev.git
synced 2026-04-02 02:59:05 -07:00
- Fix sprout i686 arch mapping: 'x86' → '386' to match artifact URLs - Add PATH export to sprout script (consistency with farmer) - Fix SC2207 shellcheck warnings in farmer (quote command substitutions) - Update gum from v0.11.0 to v0.17.0
79 lines
1.6 KiB
Bash
Executable File
79 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e -o pipefail
|
|
export PATH=$PATH:/usr/local/bin:/usr/sbin:/usr/bin
|
|
|
|
arch=$(uname -m)
|
|
|
|
case $arch in
|
|
"x86_64")
|
|
machine_arch="amd64"
|
|
;;
|
|
"i686"|"i386")
|
|
machine_arch="386"
|
|
;;
|
|
"aarch64"|"arm64"|"armv8")
|
|
machine_arch="arm64"
|
|
;;
|
|
"armv7l")
|
|
machine_arch="arm"
|
|
;;
|
|
*)
|
|
echo "Unknown machine architecture: $arch"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [ -z "$UNINSTALL" ]; then
|
|
if [ ! -f /etc/grlx/sprout ]; then
|
|
mkdir -p /etc/grlx
|
|
if [ -z "$FARMERINTERFACE" ]; then
|
|
echo "FARMERINTERFACE is not set. Please set it to the domain or IP of your farmer."
|
|
exit 1
|
|
fi
|
|
if [ -z "$FARMERAPIPORT" ]; then
|
|
FARMERAPIPORT=5405
|
|
fi
|
|
if [ -z "$FARMERBUSPORT" ]; then
|
|
FARMERBUSPORT=5406
|
|
fi
|
|
|
|
cat << EOF > /etc/grlx/sprout
|
|
farmerinterface: $FARMERINTERFACE
|
|
farmerbusport: $FARMERBUSPORT
|
|
farmerapiport: $FARMERAPIPORT
|
|
EOF
|
|
fi
|
|
chmod 600 /etc/grlx/sprout
|
|
|
|
systemctl stop grlx-sprout || true
|
|
curl -s "https://artifacts.grlx.dev/linux/${machine_arch}/v1.0.5/sprout" > /usr/local/bin/grlx-sprout
|
|
chmod +x /usr/local/bin/grlx-sprout
|
|
|
|
cat << EOF > /etc/systemd/system/grlx-sprout.service
|
|
[Unit]
|
|
Description=grlx sprout
|
|
Documentation=https://docs.grlx.dev
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
ExecStart=/usr/local/bin/grlx-sprout
|
|
Restart=always
|
|
RestartSec=30
|
|
User=root
|
|
Group=root
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable --now grlx-sprout
|
|
else
|
|
systemctl disable --now grlx-sprout
|
|
rm -f /etc/systemd/system/grlx-sprout.service
|
|
rm -f /usr/local/bin/grlx-sprout
|
|
rm -rf /etc/grlx
|
|
rm -rf /var/cache/grlx
|
|
fi
|