Repository navigation
FAQ
No. The terminal interface is fully supported and uses the same backend, storage and detector as the dashboard.
spectrum-alert monitor status
spectrum-alert monitor start --freq-start 144 --freq-end 148
spectrum-alert geo triangulate 446100000The default docker compose up service now runs the web dashboard instead of a
one-shot monitor status command. For CLI commands:
docker compose run --rm spectrumalert monitor statusThe headless services remain available through the service and autonomous
profiles.
Yes, but not on the same physical dongle at the same time. One process must own a receiver while it is capturing. Use a second receiver for concurrent work.
Host port 8088 maps to container port 8000 by default to avoid a common conflict with other local services. Override it:
SPECTRUM_ALERT_WEB_PORT=9000 docker compose up -dA local spectrum-alert web defaults to port 8000.
No. The RTL-SDR has no calibrated power reference, so all levels are dBFS. Apply per-receiver calibration before comparing absolute levels, and even then the result depends on the calibration reference.
Accuracy needs labelled evaluation data. If a model was trained without labels,
accuracies and confidence cannot be measured. The panel shows -- rather than a
fabricated score.
data/spectrum/ JSON captures with I/Q samples
data/features/ feature CSVs for training
data/anomalies/ daily anomaly history
data/receivers.json
data/calibration.json
In Docker this maps to the checkout's data/ directory.
The dashboard assets, Bootstrap and charts required by the core UI are served locally or vendored. Leaflet map tiles are fetched from OpenStreetMap and will not render offline; the rest of the dashboard remains usable.
Yes. Generate deterministic IQ fixtures:
python scripts/generate_iq_samples.py \
--data-dir /tmp/spectrumalert-demo/data \
--raw-dir /tmp/spectrumalert-demo/rawThe fixture set exercises storage, feature extraction, anomaly detection, training and the dashboard.
Yes. Use Lite mode, a lower sample rate and a modest FFT/window size. The UI is responsive and the backend runs within the normal Python dependency set.
At least two enabled receivers with coordinates. Two produce an underconstrained fix; three or more produce a usable estimate with a confidence ellipse.
Open an issue at https://github.com/Slayingripper/SpectrumAlert/issues and include:
- Operating system and Python version
- Receiver model and whether
rtl_test -tworks - The command or dashboard action used
- Relevant log lines from
data/logs/ordocker compose logs
SpectrumAlert is licensed under the GNU General Public License v3.0 only. Documentation changes are welcome through the repository issue tracker.