I built a self-hosted microservices stack for monitoring Israel's Home Front Command (Pikud HaOref) rocket alerts. It provides real-time map visualization, AI-generated intelligence reports, push notifications, and home automation integration — all running as Docker containers on your local network.
Architecture
Each component is a standalone service communicating over HTTP and MQTT, sharing a single data source:
Oref Alert Proxy — Lightweight FastAPI relay that polls Pikud HaOref every 3 seconds. Single source of truth for the entire stack.
danielrosehill/Oref-Alert-Proxy View on GitHubGeodash — Real-time multi-map dashboard with 1,450 polygon overlays, InfluxDB time-series storage, historical playback, and a TV-optimized view.
danielrosehill/Red-Alert-Geodash View on GitHubOSINT Notifier — Unified intelligence and notification module. Monitors Telegram channels (EN/HE) for missile launches, triggers on Oref volumetric thresholds, generates Groq-powered intel reports and dual-model OpenRouter sitreps (Gemini + Grok), all delivered via Pushover with RSS news context.
danielrosehill/Red-Alert-OSINT-Notifier View on GitHubActuator — Home Assistant bridge: sets input_select state via REST API. HA automations handle lights, sirens, and TTS announcements.
RSS Cache — Polls news feeds on schedule, serves cached articles for dashboard context.
MCP Server — Streamable HTTP MCP server exposing alert tools for AI agents: current alerts, area alerts, alert history, news, stack health checks, and sample payload storage.
InfluxDB + Mosquitto — Time-series database for alert history and MQTT broker for device communication.
Actuation pathways
Multiple independent pathways for physical alerting:
Home Assistant via Actuator — REST API state changes triggering HA automations
Home Assistant via oref_alert — use the HACS integration for HA alerting
Snapcast TTS — direct PCM audio to whole-house speaker groups
Direct MQTT — Zigbee2MQTT lights, ESP32 controllers, Node-RED
Custom consumers — poll the proxy's HTTP API from anything
Alert flow example
When your local area is targeted by a ballistic missile:
OSINT Notifier detects the launch via Telegram channel monitors
High-priority Pushover alert fires (bypasses quiet hours)
Groq intel report follows within ~5 seconds
Dual-model sitrep (Gemini + Grok) follows within ~15–30 seconds with live news context
Actuator sets HA state to active — lights flash red, sirens sound, TTS announces "Seek shelter"
Geodash shows your area flashing red with siren audio
On all-clear: lights go green, sirens silence, TTS announces "All clear"
Prerequisites
Docker and Docker Compose v2+
Israeli IP address (the Oref API is geo-restricted)
Optional: Home Assistant, Pushover account, OpenRouter/Groq API keys
All services build from source in the monorepo — no external Docker Hub images required.
danielrosehill/Red-Alert-Monitoring-Stack-Public View on GitHub