Files
9router_start_onboot/install.sh

33 lines
1.0 KiB
Bash
Executable File

#!/bin/sh
# install.sh — set up 9router auto-start on boot (non-root, no systemd).
# Run as root: sudo ./install.sh
set -e
WRAPPER_SRC="./start-9router.sh"
WRAPPER_DST="/usr/local/bin/start-9router.sh"
LOG="/home/ardhi/9router.log"
USER="ardhi"
echo "==> Installing wrapper to $WRAPPER_DST"
install -m 0755 "$WRAPPER_SRC" "$WRAPPER_DST"
echo "==> Preparing log file ($LOG) owned by $USER"
touch "$LOG"
chown "$USER:$USER" "$LOG"
chmod 644 "$LOG"
echo "==> Registering @reboot cron as ROOT"
# Must be root's crontab (wrapper uses runuser to drop privileges).
( crontab -l 2>/dev/null | grep -v 'start-9router.sh'; echo "@reboot $WRAPPER_DST" ) | crontab -
echo "==> Ensuring cron daemon is active"
systemctl enable cron >/dev/null 2>&1 || true
systemctl start cron >/dev/null 2>&1 || true
echo "==> Disabling broken systemd unit (if any)"
systemctl disable 9router >/dev/null 2>&1 || true
echo "==> Done. Reboot to verify:"
echo " ss -ltnp | grep 20128"
echo " curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:20128/v1/models"