A lightweight, self-hosted operations dashboard for FlightAware PiAware and
dump1090-fa receivers.
Monitor live aircraft, receiver range, ADS-B message rates, signal quality, Wi-Fi health, Raspberry Pi resources, and essential services from one responsive local web interface.
PiAware and SkyAware are excellent for aircraft tracking. This companion dashboard focuses on the receiver itself: whether data is fresh, services are healthy, the Pi is running safely, and the network is reliable.
- Fast and lightweight: Python standard library plus static HTML, CSS, and JavaScript—no Node.js, database, containers, or build step.
- Receiver-focused: aircraft activity, positioned tracks, message and position rates, reception range, gain, signal, noise, and peak signal.
- Pi health at a glance: CPU temperature, throttling, load, memory, disk, uptime, Wi-Fi signal, and link rate.
- Honest failure states: production errors are shown as unavailable or stale instead of being replaced with demo data.
- Safe service design: runs as a restricted system user with systemd hardening and separate liveness/readiness endpoints.
- Works alongside PiAware: uses port
8088and does not replace the standard PiAware or SkyAware interface.
- Live data from PiAware /
dump1090-faruntime JSON. - Aircraft count, fresh positioned tracks, message rate, and position rate.
- Automatically scaled receiver-centered aircraft plot and range history.
- Aircraft flight, hex code, altitude, track, RSSI, distance, and last-seen details.
- Gain, signal, noise, and peak-signal monitoring.
- Data-age and API-latency indicators for detecting a slow or stale feed.
- CPU load, memory, disk usage, uptime, and temperature.
- Model-aware temperature warnings with optional custom thresholds.
- Raspberry Pi under-voltage and throttling flags through
vcgencmd. - Local network and Tailscale addresses.
- Wi-Fi connection, signal strength, and transmit link rate.
- Required service state for
dump1090-faandpiaware. - Optional service state for
fa-mlat-clientandlighttpd. - Links to SkyAware, PiAware, and the local aircraft JSON feed.
/healthzprocess-liveness and/readyzreceiver-readiness endpoints.- Timeout, non-overlapping refresh scheduling, and automatic retry backoff.
- Compressed API responses and an accessible, responsive interface.
- Raspberry Pi running FlightAware PiAware and
dump1090-fa. - Python 3.
- systemd.
- Git for installation from GitHub.
The standard PiAware interfaces are usually available at:
http://<your-pi-address>/
http://<your-pi-address>/skyaware/
Run on the Raspberry Pi:
git clone https://github.com/B1ackCat7/piaware-adsb-dashboard.git
cd piaware-adsb-dashboard
sudo ./install.shOpen the dashboard:
http://<your-pi-address>:8088/
The installer:
- creates a restricted
piaware-dashboardsystem account; - installs the application under
/opt/piaware-dashboard; - installs and enables
piaware-dashboard.service; - starts the dashboard and verifies its health endpoint.
The server reads PiAware receiver data directly from:
/run/dump1090-fa/aircraft.json
/run/dump1090-fa/stats.json
/run/dump1090-fa/receiver.json
It also reads standard Linux system information, checks local services with
systemctl, and serves a small JSON API plus static frontend files. The
browser refreshes the dashboard every five seconds.
PiAware / dump1090-fa JSON
│
▼
Python dashboard server
localhost:8088
│
▼
HTML + CSS + JavaScript UI
sudo systemctl status piaware-dashboard.service
sudo systemctl restart piaware-dashboard.service
sudo systemctl stop piaware-dashboard.serviceFollow service logs:
journalctl -u piaware-dashboard.service -fCheck process health and receiver readiness:
http://<your-pi-address>:8088/healthz
http://<your-pi-address>:8088/readyz
/healthzreturns success when the dashboard process is serving requests./readyzreturns HTTP 503 when required PiAware services are unavailable or receiver data is stale.
The default systemd service configuration is:
PIAWARE_DASHBOARD_HOST=0.0.0.0
PIAWARE_DASHBOARD_PORT=8088
To change the port, edit
/etc/systemd/system/piaware-dashboard.service, then run:
sudo systemctl daemon-reload
sudo systemctl restart piaware-dashboard.serviceThe dashboard selects model-aware defaults. Override them when needed for a particular enclosure or cooling setup:
PIAWARE_DASHBOARD_TEMP_WARNING=70
PIAWARE_DASHBOARD_TEMP_CRITICAL=80
The receiver-centered range display can show a greyscale base map. By default, the viewing browser loads OpenStreetMap raster tiles:
https://tile.openstreetmap.org/{z}/{x}/{y}.png
Use a local or custom tile provider:
PIAWARE_DASHBOARD_TILE_URL=http://<tile-server>/{z}/{x}/{y}.png
Disable map tiles for fully offline operation:
PIAWARE_DASHBOARD_TILE_URL=none
Custom providers can supply visible attribution:
PIAWARE_DASHBOARD_TILE_ATTRIBUTION=© Example Maps
PIAWARE_DASHBOARD_TILE_ATTRIBUTION_URL=https://example.com/attribution
Run locally:
python3 -B server.pyThen open http://127.0.0.1:8088/.
On a machine without PiAware, production mode reports receiver data as unavailable. Use sanitized demo data for development or screenshots:
PIAWARE_DASHBOARD_DEMO=1 python3 -B server.pyRun the standard-library test suite and syntax checks:
python3 -m unittest discover -s tests -v
python3 -m py_compile server.py
node --check static/app.js
sh -n install.sh uninstall.sh- Receiver and system data stay on the Raspberry Pi and are not sent to an external application server.
- The dashboard service runs without root privileges and uses systemd sandbox protections.
- The API does not silently substitute demo values for failed production data.
- When the default map is enabled, the viewing browser requests map tiles for the receiver's general area from OpenStreetMap.
- Set
PIAWARE_DASHBOARD_TILE_URL=noneor use a local tile server for fully offline operation. - Because the dashboard displays local receiver and network information, expose
port
8088only to networks and users you trust.
From the cloned repository:
sudo ./uninstall.shThis is an independent community dashboard for local PiAware installations. It is not an official FlightAware product and is not affiliated with or endorsed by FlightAware.
Related technologies: ADS-B, PiAware, dump1090-fa, SkyAware, FlightAware, Raspberry Pi, RTL-SDR, aircraft tracking, receiver monitoring, and self-hosted aviation software.
