Overview
Introduction to SkySpy, a real-time ADS-B aircraft tracking and monitoring system.
SkySpy is a real-time aircraft tracking platform that captures ADS-B position data from 1090MHz Mode S and 978MHz UAT receivers. It displays aircraft on an interactive map, monitors safety conditions, and provides custom alerts, weather integration, and push notifications.
What You Can Do with SkySpy
Architecture
SkySpy consists of two main components that work together to provide real-time aircraft tracking:
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#1e3a5f', 'primaryTextColor': '#fff', 'primaryBorderColor': '#3b82f6', 'lineColor': '#60a5fa', 'secondaryColor': '#1e3a5f', 'tertiaryColor': '#1e3a5f'}}}%%
flowchart TB
subgraph Receivers["๐ก Data Sources"]
UF["๐ป Ultrafeeder<br/>1090MHz ADS-B"]
D978["๐ป dump978<br/>978MHz UAT"]
ACARS["๐ฌ ACARS/VDL2<br/>Decoder"]
end
subgraph External["๐ External APIs"]
OSN["๐ OpenSky Network"]
AWC["๐ฆ๏ธ Aviation Weather"]
PS["๐ธ planespotters.net"]
end
subgraph Backend["โ๏ธ Backend API"]
direction TB
API["๐ FastAPI Server"]
SAFETY["๐ก๏ธ Safety Engine"]
ALERTS["๐ Alert Engine"]
DB[("๐๏ธ PostgreSQL")]
REDIS[("โก Redis Pub/Sub")]
end
subgraph Frontend["๐ฅ๏ธ Web Dashboard"]
REACT["โ๏ธ React App"]
MAP["๐บ๏ธ Canvas Radar"]
end
subgraph Notifications["๐ฌ Notifications"]
APPRISE["๐ค Apprise"]
PUSH["๐ฑ Pushover / Telegram<br/>Slack / Discord"]
end
UF --> API
D978 --> API
ACARS --> API
OSN --> API
AWC --> API
PS --> API
API --> SAFETY
API --> ALERTS
API --> DB
API --> REDIS
REDIS --> REACT
API --> REACT
REACT --> MAP
ALERTS --> APPRISE
SAFETY --> APPRISE
APPRISE --> PUSH
style Receivers fill:#0d4f8b,stroke:#3b82f6,stroke-width:2px,color:#fff
style External fill:#7c4a03,stroke:#f59e0b,stroke-width:2px,color:#fff
style Backend fill:#5b2168,stroke:#a855f7,stroke-width:2px,color:#fff
style Frontend fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff
style Notifications fill:#831843,stroke:#ec4899,stroke-width:2px,color:#fff
Data SourcesSkySpy integrates with Ultrafeeder (readsb/dump1090) for ADS-B data, dump978 for UAT data, and external APIs like OpenSky Network and Aviation Weather Center for enriched metadata.
How It Works
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#3b82f6', 'primaryTextColor': '#fff', 'primaryBorderColor': '#60a5fa', 'lineColor': '#60a5fa', 'actorTextColor': '#fff', 'actorBkg': '#1e3a5f', 'actorBorder': '#3b82f6'}}}%%
sequenceDiagram
participant R as ๐ก ADS-B Receiver
participant A as ๐ SkySpy API
participant S as ๐ก๏ธ Safety Engine
participant D as ๐๏ธ Database
participant W as ๐ฅ๏ธ Web Dashboard
participant N as ๐ฑ Notifications
R->>A: โ๏ธ Aircraft JSON (every 2s)
A->>S: ๐ Analyze traffic
A->>D: ๐พ Store positions
alt ๐จ Safety Event Detected
S->>A: โ ๏ธ Proximity/TCAS alert
A->>N: ๐ Push notification
A->>W: โก Real-time event
end
A->>W: ๐ก SSE/Socket.IO stream
W->>W: ๐บ๏ธ Update radar display
Key Features at a Glance
| Feature | Description | Learn More |
|---|---|---|
| Live Tracking | Real-time positions updated every 2 seconds | Real-Time API |
| Safety Monitoring | TCAS, proximity, and emergency detection | Safety & Alerts |
| Custom Rules | Flexible AND/OR condition builder | Safety & Alerts |
| Multi-Protocol | SSE and Socket.IO streaming options | SSE API |
| Weather Integration | METARs, TAFs, PIREPs from AWC | Real-Time API |
| Photo Lookup | Aircraft photos via planespotters.net | Configuration |
Next Steps
Deploy SkySpy with Docker Compose in minutes
Customize receiver settings, alerts, and integrations
Set up custom alert rules and notifications
Connect to the SSE stream for live aircraft data
Updated 6 days ago