Skip to content

Commit 392166f

Browse files
committed
fix: use generic tdarr launchd label discovery
1 parent d644b48 commit 392166f

2 files changed

Lines changed: 78 additions & 12 deletions

File tree

scripts/auto-heal.sh

Lines changed: 51 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,19 +84,58 @@ for name in $CONTAINERS; do
8484
done
8585

8686
if [[ "$TDARR_MODE" == "native" ]]; then
87+
tdarr_server_label=""
88+
tdarr_node_label=""
89+
for candidate in com.media-stack.tdarr.server; do
90+
if launchctl print "gui/$UID/$candidate" >/dev/null 2>&1; then
91+
tdarr_server_label="$candidate"
92+
break
93+
fi
94+
done
95+
if [[ -z "$tdarr_server_label" ]]; then
96+
tdarr_server_label="$(launchctl list 2>/dev/null | awk 'NR>1 {print $3}' | grep -E '\.tdarr\.server$' | head -1 || true)"
97+
fi
98+
99+
for candidate in com.media-stack.tdarr.node; do
100+
if launchctl print "gui/$UID/$candidate" >/dev/null 2>&1; then
101+
tdarr_node_label="$candidate"
102+
break
103+
fi
104+
done
105+
if [[ -z "$tdarr_node_label" ]]; then
106+
tdarr_node_label="$(launchctl list 2>/dev/null | awk 'NR>1 {print $3}' | grep -E '\.tdarr\.node$' | head -1 || true)"
107+
fi
108+
87109
tdarr_ok=true
88-
if ! launchctl print "gui/$UID/com.media-stack.tdarr.server" >/dev/null 2>&1; then
110+
if [[ -z "$tdarr_server_label" ]]; then
89111
tdarr_ok=false
90112
log "WARN: tdarr-server launchd job missing. Attempting load..."
91-
launchctl load "$HOME/Library/LaunchAgents/com.media-stack.tdarr.server.plist" >> "$LOG" 2>&1 || true
92-
launchctl kickstart -k "gui/$UID/com.media-stack.tdarr.server" >> "$LOG" 2>&1 || true
113+
if [[ -f "$HOME/Library/LaunchAgents/com.media-stack.tdarr.server.plist" ]]; then
114+
server_plist="$HOME/Library/LaunchAgents/com.media-stack.tdarr.server.plist"
115+
else
116+
server_plist="$(ls "$HOME/Library/LaunchAgents/"*.tdarr.server.plist 2>/dev/null | head -1 || true)"
117+
fi
118+
if [[ -n "${server_plist:-}" ]]; then
119+
tdarr_server_label="$(basename "$server_plist" .plist)"
120+
launchctl load "$server_plist" >> "$LOG" 2>&1 || true
121+
launchctl kickstart -k "gui/$UID/$tdarr_server_label" >> "$LOG" 2>&1 || true
122+
fi
93123
((HEALED++))
94124
fi
95-
if ! launchctl print "gui/$UID/com.media-stack.tdarr.node" >/dev/null 2>&1; then
125+
126+
if [[ -z "$tdarr_node_label" ]]; then
96127
tdarr_ok=false
97128
log "WARN: tdarr-node launchd job missing. Attempting load..."
98-
launchctl load "$HOME/Library/LaunchAgents/com.media-stack.tdarr.node.plist" >> "$LOG" 2>&1 || true
99-
launchctl kickstart -k "gui/$UID/com.media-stack.tdarr.node" >> "$LOG" 2>&1 || true
129+
if [[ -f "$HOME/Library/LaunchAgents/com.media-stack.tdarr.node.plist" ]]; then
130+
node_plist="$HOME/Library/LaunchAgents/com.media-stack.tdarr.node.plist"
131+
else
132+
node_plist="$(ls "$HOME/Library/LaunchAgents/"*.tdarr.node.plist 2>/dev/null | head -1 || true)"
133+
fi
134+
if [[ -n "${node_plist:-}" ]]; then
135+
tdarr_node_label="$(basename "$node_plist" .plist)"
136+
launchctl load "$node_plist" >> "$LOG" 2>&1 || true
137+
launchctl kickstart -k "gui/$UID/$tdarr_node_label" >> "$LOG" 2>&1 || true
138+
fi
100139
((HEALED++))
101140
fi
102141

@@ -107,9 +146,13 @@ if [[ "$TDARR_MODE" == "native" ]]; then
107146
fi
108147
else
109148
log "WARN: Tdarr UI check failed (HTTP $tdarr_http). Restarting tdarr launchd jobs..."
110-
launchctl kickstart -k "gui/$UID/com.media-stack.tdarr.server" >> "$LOG" 2>&1 || true
149+
if [[ -n "$tdarr_server_label" ]]; then
150+
launchctl kickstart -k "gui/$UID/$tdarr_server_label" >> "$LOG" 2>&1 || true
151+
fi
111152
sleep 3
112-
launchctl kickstart -k "gui/$UID/com.media-stack.tdarr.node" >> "$LOG" 2>&1 || true
153+
if [[ -n "$tdarr_node_label" ]]; then
154+
launchctl kickstart -k "gui/$UID/$tdarr_node_label" >> "$LOG" 2>&1 || true
155+
fi
113156
((HEALED++))
114157
fi
115158
fi

scripts/health-check.sh

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,38 @@ check_service "FlareSolverr" "http://localhost:8191"
101101
echo ""
102102
echo "Tdarr:"
103103
if [[ "$TDARR_MODE" == "native" ]]; then
104-
if launchctl print "gui/$UID/com.media-stack.tdarr.server" >/dev/null 2>&1; then
105-
echo -e " ${GREEN}OK${NC} tdarr-server launchd job loaded"
104+
tdarr_server_label=""
105+
tdarr_node_label=""
106+
107+
for candidate in com.media-stack.tdarr.server; do
108+
if launchctl print "gui/$UID/$candidate" >/dev/null 2>&1; then
109+
tdarr_server_label="$candidate"
110+
break
111+
fi
112+
done
113+
if [[ -z "$tdarr_server_label" ]]; then
114+
tdarr_server_label="$(launchctl list 2>/dev/null | awk 'NR>1 {print $3}' | grep -E '\.tdarr\.server$' | head -1 || true)"
115+
fi
116+
117+
for candidate in com.media-stack.tdarr.node; do
118+
if launchctl print "gui/$UID/$candidate" >/dev/null 2>&1; then
119+
tdarr_node_label="$candidate"
120+
break
121+
fi
122+
done
123+
if [[ -z "$tdarr_node_label" ]]; then
124+
tdarr_node_label="$(launchctl list 2>/dev/null | awk 'NR>1 {print $3}' | grep -E '\.tdarr\.node$' | head -1 || true)"
125+
fi
126+
127+
if [[ -n "$tdarr_server_label" ]]; then
128+
echo -e " ${GREEN}OK${NC} tdarr-server launchd job loaded ($tdarr_server_label)"
106129
((PASS++))
107130
else
108131
echo -e " ${RED}FAIL${NC} tdarr-server launchd job missing"
109132
((FAIL++))
110133
fi
111-
if launchctl print "gui/$UID/com.media-stack.tdarr.node" >/dev/null 2>&1; then
112-
echo -e " ${GREEN}OK${NC} tdarr-node launchd job loaded"
134+
if [[ -n "$tdarr_node_label" ]]; then
135+
echo -e " ${GREEN}OK${NC} tdarr-node launchd job loaded ($tdarr_node_label)"
113136
((PASS++))
114137
else
115138
echo -e " ${RED}FAIL${NC} tdarr-node launchd job missing"

0 commit comments

Comments
 (0)