Repository navigation
Troubleshooting
Check the process directly:
spectrum-alert web --host 0.0.0.0 --port 8000Common causes:
-
Port already in use — choose another port with
--port; Docker uses host port 8088 by default. -
Missing web dependencies — reinstall with
pip install -e .. - Wrong working directory in Docker — the image serves package assets, not files from the checkout.
Check the container:
docker compose ps
docker compose logs -f spectrumalertCheck the host first:
lsusb | grep 0bda:2838
rtl_test -tIf lsusb shows nothing:
- Reconnect the dongle.
- Try a different USB port or a powered hub.
- Avoid USB 3 ports that have known RTL-SDR compatibility problems.
If rtl_test reports a permission error:
sudo usermod -aG plugdev "$USER"Then log out and back in.
A physical dongle can only be open in one process. Stop dashboard monitoring before running a CLI scan on the same receiver, or use a second dongle for a second process.
Check for a stale process:
ps -ef | grep -E "spectrum-alert|rtl_"If read_samples hangs while rtl_test -t still reports the device, the dongle
is in the known stuck state after an abnormal exit. Reset it:
usbreset 0bda:2838If usbreset is unavailable, unplug and reconnect the dongle. A reset can change
the device path from /dev/bus/usb/001/005 to another number, which is why the
Docker configuration maps the whole USB bus rather than one device path.
Confirm the dashboard is using the expected working directory. The data directory is relative to where the app was started:
pwd
ls data/features data/anomalies data/spectrumIn Docker, the data directory is mounted from the checkout:
docker compose exec spectrumalert ls /app/dataTraining needs feature CSVs for the selected mode:
ls data/features/features_*_lite.csv
ls data/features/features_*_full.csvA model needs at least ten usable feature rows. Generate test data with:
python scripts/generate_iq_samples.py --data-dir /tmp/demo/dataThe model status polls every 30 seconds. Training completion triggers an immediate refresh in current builds. If the panel still looks stale, reload the dashboard or check:
ls models/A model artifact must exist under models/ in the same working directory as the
app.
Hard-reload the page or rebuild the container:
docker compose build
docker compose up -dThe dashboard assets are served by the backend; a rebuilt image is required for container deployments.
The Monitor chart requires a live /api/spectrum response. Feature and anomaly
archives populate Analytics and Data Management, not the live spectrum chart.
Use the Workspace scan or start monitoring to populate the waterfall.
SpectrumAlert is licensed under the GNU General Public License v3.0 only. Documentation changes are welcome through the repository issue tracker.