diff --git a/install/agent-install.sh b/install/agent-install.sh index cadefc1..db7fbf4 100644 --- a/install/agent-install.sh +++ b/install/agent-install.sh @@ -53,7 +53,14 @@ cat > "$AGENT_BIN" << 'AGENTSCRIPT' #!/bin/bash set -e -CONFIG_FILE="${1:-$HOME/.config/servermanager/agent.conf}" +# Config search order: 1st arg > /etc/servermanager/agent.conf > $HOME/.config/servermanager/agent.conf +if [ -n "$1" ] && [ -f "$1" ]; then + CONFIG_FILE="$1" +elif [ -f "/etc/servermanager/agent.conf" ]; then + CONFIG_FILE="/etc/servermanager/agent.conf" +else + CONFIG_FILE="$HOME/.config/servermanager/agent.conf" +fi load_config() { if [ -f "$CONFIG_FILE" ]; then @@ -141,7 +148,7 @@ After=network-online.target Wants=network-online.target [Service] Type=simple -ExecStart=/usr/local/bin/servermanager-agent +ExecStart=/usr/local/bin/servermanager-agent /etc/servermanager/agent.conf Restart=always RestartSec=10 [Install] @@ -152,7 +159,7 @@ UNIT systemctl restart servermanager-agent 2>/dev/null || true else echo " Using crontab (@reboot)..." - CRON_JOB="@reboot $AGENT_BIN > $CONFIG_DIR/agent.log 2>&1" + CRON_JOB="@reboot $AGENT_BIN $CONFIG_FILE > $CONFIG_DIR/agent.log 2>&1" (crontab -l 2>/dev/null | grep -v '_sm_agent\|servermanager-agent'; echo "$CRON_JOB") | crontab - 2>/dev/null || { echo "WARNING: Could not install crontab. Agent must be started manually." echo " Run: $AGENT_BIN &"