Files
bootstrap.grlx.dev/v0.0.4/sprout
2023-10-21 01:10:53 -07:00

64 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e -o pipefail
arch=$(uname -m)
case $arch in
"x86_64")
machine_arch="x86_64"
;;
"aarch64"|"arm64"|"armv8")
machine_arch="arm64"
;;
*)
echo "Unknown machine architecture: $arch"
exit 1
;;
esac
if [ ! -f /etc/grlx/sprout ]; then
mkdir -p /etc/grlx
if [ -z "$FARMER_INTERFACE" ]; then
echo "FARMER_INTERFACE is not set. Please set it to the domain or IP of your farmer."
exit 1
fi
if [ -z "$FARMER_API_PORT" ]; then
FARMER_PORT=5405
fi
if [ -z "$FARMER_BUS_PORT" ]; then
FARMER_PORT=5406
fi
cat << EOF > /etc/grlx/sprout
farmerinterface: $FARMER_INTERFACE
farmerbusport: $FARMER_BUS_PORT
farmerapiport: $FARMER_API_PORT
farmerurl: https://$FARMER_INTERFACE:$FARMER_PORT
EOF
fi
chmod 600 /etc/grlx/sprout
curl -s "https://artifacts.grlx.dev/linux/${machine_arch}/v0.0.4/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