Repository navigation
Configuration
SpectrumAlert has three configuration surfaces:
-
config/config.ini— persistent CLI and service configuration - Dashboard Config — browser and server settings
- Environment variables — container service configuration
[HAM_BANDS]
bands = 144e6-146e6,420e6-440e6
[GENERAL]
freq_step = 100000
sample_rate = 2.048e6
runs_per_freq = 3
sdr_type = rtlsdr
lite_mode = false
[MONITORING]
freq_step = 1000000
scan_delay = 0.01
runs_per_freq = 1
use_wideband_scanning = false
[RECEIVER]
latitude = 35.130
longitude = 33.310
[MQTT]
broker = localhost
port = 1883
topic_anomalies = hamradio/anomalies
topic_modulation = hamradio/modulation
topic_signal_strength = hamradio/signal_strength
topic_coordinates = hamradio/coordinates
[DATA]
data_directory = data
max_file_size_mb = 100
cleanup_after_days = 30
[MODELS]
model_directory = models
auto_retrain_threshold = 1000
contamination_rate = 0.05
[LOGGING]
log_level = INFO
log_directory = logs
max_log_size_mb = 50
backup_count = 5Unknown keys are ignored. Invalid numeric values are reported on startup.
- Detection threshold — stored in the browser for the dashboard session
- Frequency range — used by advanced and data-collection paths
- Scan interval — seconds between live scans
- Strict mode — built into the detector and cannot be disabled
Advanced and multi-band settings are recorded with the server. Some fields are stored for later builds rather than applied by the current live detector. The dashboard disclosure states which values are active.
Broker, port and topic prefix can be recorded from the dashboard. The current build records the settings and exposes a test event; it does not open a broker connection from the dashboard process.
The container stack reads:
| Variable | Default | Purpose |
|---|---|---|
SPECTRUM_ALERT_WEB_PORT |
8088 |
Host port mapped to dashboard port 8000 |
LOG_LEVEL |
INFO |
Logging verbosity |
COLLECTION_HOURS |
24 |
Autonomous collection window |
RETRAIN_INTERVAL_HOURS |
168 |
Autonomous retraining interval |
MIN_TRAINING_SAMPLES |
1000 |
Autonomous training floor |
SERVICE_ALERT_THRESHOLD |
0.7 |
Service-mode threshold |
MQTT_BROKER |
localhost |
MQTT broker host |
MQTT_PORT |
1883 |
MQTT broker port |
MQTT_TOPIC |
spectrum_alert |
MQTT topic prefix |
See .env.example for the full template.
Both paths are relative to the working directory:
data/ captures, features, anomalies, logs
models/ trained joblib and pkl artifacts
In Docker, these are mounted from the checkout so data survives container rebuilds.
SpectrumAlert is licensed under the GNU General Public License v3.0 only. Documentation changes are welcome through the repository issue tracker.