Repository navigation
Docker
The image runs as the non-root spectrum user. USB access is granted with
devices: and group_add: plugdev; privileged mode is not required.
docker compose up -dOpen http://localhost:8088.
The container listens on port 8000 internally. Port 8088 is used on the host because 8000 is commonly occupied by other services. Override it with:
SPECTRUM_ALERT_WEB_PORT=9000 docker compose up -dCheck status:
docker compose ps
docker compose logs -f spectrumalertThe default image command is the dashboard, but the entry point is still the
spectrum-alert CLI:
docker compose run --rm spectrumalert monitor status
docker compose run --rm spectrumalert system status
docker compose run --rm spectrumalert geo receivers
docker compose run --rm spectrumalert monitor start \
--freq-start 144 --freq-end 148 --duration 30Use a separate profile for long-running headless operation:
docker compose --profile service up spectrumalert-service
docker compose --profile autonomous up spectrumalert-autonomous| Service | Purpose |
|---|---|
spectrumalert |
Web dashboard (default) |
spectrumalert-service |
Continuous monitoring profile |
spectrumalert-autonomous |
Collection + training + monitoring profile |
The compose file maps the USB bus and adds the container user to plugdev:
devices:
- /dev/bus/usb:/dev/bus/usb
group_add:
- plugdevVerify the container sees the dongle:
docker compose exec spectrumalert rtl_test -tIf the host cannot see the dongle either, see Troubleshooting.
The stack mounts the checkout's data, model, log and configuration directories:
./data -> /app/data
./models -> /app/models
./logs -> /app/logs
./config -> /app/config
Training artifacts created in the container are therefore visible on the host.
docker compose run --rm --no-deps --entrypoint python spectrumalert \
scripts/generate_iq_samples.py \
--data-dir /tmp/iq/data \
--raw-dir /tmp/iq/rawFor persistent fixtures, point --data-dir at /app/data and --raw-dir at a
mounted directory.
The dashboard service checks the HTTP endpoint every 30 seconds. A healthy state is shown by:
docker compose psExample:
spectrum-alert Up 2 minutes (healthy) 0.0.0.0:8088->8000/tcp
docker compose build
docker compose up -dSpectrumAlert is licensed under the GNU General Public License v3.0 only. Documentation changes are welcome through the repository issue tracker.