30 lines
1.4 KiB
Bash
Executable File
30 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# Check critical service HTTP endpoints
|
|
set -euo pipefail
|
|
|
|
SEND_NTFY="/usr/local/bin/send-ntfy.sh"
|
|
|
|
# Check Home Assistant (using correct hostname)
|
|
HA_CHECK=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 10 http://HomeAssistant:8123 2>/dev/null || echo "FAILED")
|
|
|
|
if [ "$HA_CHECK" = "200" ]; then
|
|
logger -t service-monitor "Home Assistant: OK (HTTP 200)"
|
|
elif [ "$HA_CHECK" = "FAILED" ]; then
|
|
$SEND_NTFY critical "Home Assistant Down" "🔴 CRITICAL: Home Assistant is not responding at http://HomeAssistant:8123" "skull,error,globe_with_meridians"
|
|
else
|
|
$SEND_NTFY warning "Home Assistant Issue" "🟡 WARNING: Home Assistant returned HTTP $HA_CHECK (expected 200)" "warning,globe_with_meridians"
|
|
fi
|
|
|
|
# Check CloudReve from inside its container (more reliable)
|
|
CLOUDREVE_CHECK=$(pct exec 209 -- curl -s -o /dev/null -w "%{http_code}" http://localhost:5212 --max-time 5 2>/dev/null || echo "FAILED")
|
|
|
|
if [ "$CLOUDREVE_CHECK" = "200" ]; then
|
|
logger -t service-monitor "CloudReve: OK (HTTP 200)"
|
|
elif [ "$CLOUDREVE_CHECK" = "FAILED" ]; then
|
|
$SEND_NTFY critical "CloudReve Down" "🔴 CRITICAL: CloudReve (CT 209) is not responding on port 5212" "skull,error,globe_with_meridians"
|
|
else
|
|
$SEND_NTFY warning "CloudReve Issue" "🟡 WARNING: CloudReve returned HTTP $CLOUDREVE_CHECK (expected 200)" "warning,globe_with_meridians"
|
|
fi
|
|
|
|
logger -t service-monitor "Service health check completed"
|