#!/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"