From 92a2af8c5cf9f4d40ce26b3a1aa5403dfe5ed577 Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Sun, 19 Apr 2026 22:35:42 -0700 Subject: [PATCH] health-check.sh: auto-detect hub user home directory when running as root --- health-check.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/health-check.sh b/health-check.sh index aa45500..0af2abe 100755 --- a/health-check.sh +++ b/health-check.sh @@ -13,9 +13,24 @@ warn() { echo -e " ${YELLOW}[WARN]${NC} $*"; } header() { echo -e "\n${CYAN}══════════════════════════════════════════${NC}"; echo -e "${CYAN} $*${NC}"; echo -e "${CYAN}══════════════════════════════════════════${NC}"; } SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -REGISTRY="${HOME}/.config/tinyboard/spokes" +HUB_USER="${SUDO_USER:-${USER}}" +if [ "$(id -u)" -eq 0 ] && [ -n "${SUDO_USER:-}" ]; then + HUB_HOME=$(getent passwd "$SUDO_USER" | cut -d: -f6) +else + HUB_HOME="$HOME" +fi +if [ "$(id -u)" -eq 0 ] && [ "$HUB_HOME" = "/root" ]; then + for u in armbian; do + CANDIDATE=$(getent passwd "$u" 2>/dev/null | cut -d: -f6) + if [ -f "${CANDIDATE}/.config/tinyboard/spokes" ]; then + HUB_HOME="$CANDIDATE" + break + fi + done +fi +REGISTRY="${HUB_HOME}/.config/tinyboard/spokes" COMPOSE="$SCRIPT_DIR/spoke/compose.yaml" -RCLONE_CONF="${HOME}/.config/rclone/rclone.conf" +RCLONE_CONF="${HUB_HOME}/.config/rclone/rclone.conf" IS_SPOKE=false IS_HUB=false