mirror of
https://github.com/gogrlx/bootstrap.grlx.dev.git
synced 2026-04-02 02:59:05 -07:00
70 lines
1.3 KiB
Bash
Executable File
70 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e -o pipefail
|
|
|
|
arch=$(uname -m)
|
|
|
|
case $arch in
|
|
"x86_64")
|
|
machine_arch="x86_64"
|
|
;;
|
|
"i686"|"i386")
|
|
machine_arch="x86"
|
|
;;
|
|
"aarch64"|"arm64"|"armv8")
|
|
machine_arch="arm64"
|
|
;;
|
|
"armv7l")
|
|
machine_arch="arm"
|
|
;;
|
|
*)
|
|
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/${machine_arch}/v0.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
|