Skip to content

audric/SvxReflectorDashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

378 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVX Dashboard

A Rails web application for monitoring amateur radio SVXReflector / GeuReflector node activity in real time. Supports GeuReflector extensions: trunk links, cluster TGs, and satellites. Registered users can tune in to talkgroups and transmit audio directly from their browser.

Wiki — full documentation

Features

  • Live node grid with signal levels, squelch indicators, and activity log
  • Interactive map with per-node popups and multiple tile layers
  • Historical stats: top talkers, top talkgroups, signal strength
  • Web listener — tune in to any talkgroup (Opus audio via WebSocket)
  • S-meter and spectrum analyser showing real-time audio levels (RX and TX)
  • Push-to-Talk from the browser (requires HTTPS)
  • CTCSS tone-to-talkgroup matrix with CHIRP CSV export
  • GeuReflector support — trunk link status, satellite monitoring, cluster TG indicators, and network-wide analytics
  • Web admin for SVXReflector/GeuReflector configuration (global settings, certificates, users, passwords, TG rules, trunk peers, satellites)
  • Multi-protocol bridge management — SVXLink reflector-to-reflector, EchoLink, XLX (DCS/DExtra), DMR, YSF, AllStar, Zello, IAX (Asterisk/HOIP), and SIP (PJSIP) bridges with auto-generated configs, snapshot backups, and 30-day archive on delete
  • User management with callsign validation, admin approval, and role-based permissions

Quick start

git clone https://github.com/audric/SvxReflectorDashboard
cd SvxReflectorDashboard
cp .env.example .env   # edit with your reflector details
./update.sh            # pulls images, starts services, sets up DB

Pre-built multi-arch images (amd64, arm64/Raspberry Pi) are published to ghcr.io/audric/svxreflectordashboard-web. To build locally instead, run docker compose build.

Set DOMAIN=yourdomain.com in .env for automatic HTTPS, or leave as localhost for local dev.

Open https://yourdomain.com (or http://localhost locally). Default admin: ADM1N / changeme.

Run ./update.sh again anytime to pull the latest code, images, and run migrations.

See the wiki for configuration details and production deployment.

Architecture

init-reflector-conf → One-shot init container that seeds svxreflector.conf
svxreflector        → GeuReflector daemon (SVXReflector-compatible, with trunks/satellites)
caddy               → Reverse proxy with automatic HTTPS (Let's Encrypt, optional)
web                 → Rails app (Puma) on port 3000
updater             → Background poller (ReflectorListener)
audio_bridge        → Go binary, SVXReflector protocol V2 (browser audio)
xlx_bridge          → Go binary, D-STAR XLX bridge (DCS + DExtra, OPUS ↔ AMBE)
dmr_bridge          → Go binary, DMR bridge (OPUS ↔ AMBE via MMDVM Homebrew)
ysf_bridge          → Go binary, YSF bridge (OPUS ↔ IMBE)
allstar_bridge      → Go binary, AllStar bridge (OPUS ↔ µLaw via IAX2)
iax_bridge          → Go binary, generic Asterisk/HOIP bridge via IAX2 (OPUS ↔ GSM/µLaw/A-law/G.726)
sip_bridge          → Go + C (PJSIP) bridge to any SIP endpoint, UDP/TCP/TLS with DTMF/PIN gate
zello_bridge        → Go binary, Zello bridge (OPUS 48kHz ↔ 16kHz via WebSocket)
mqtt                → Mosquitto 2 broker for GeuReflector event publishing
redis               → ActionCable + snapshot cache + RX metadata + audio pub/sub

All Go bridges include configurable voice bandpass filtering (HPF/LPF), AGC, and hard limiting.

Stack: Ruby 3.2 · Rails 8.0 · ActionCable/WebSocket · Go · SQLite · Redis · Hotwire (Turbo + Stimulus) · HAML · Tailwind CSS · Leaflet.js

See the wiki for architecture details and reflector protocol docs.

Documentation

Topic Link
Getting Started wiki/Getting-Started
Architecture wiki/Architecture
Configuration wiki/Configuration
User Management wiki/User-Management
Bridges wiki/Bridges
Audio Bridge wiki/Audio-Bridge
Reflector Protocol wiki/Reflector-Protocol
Troubleshooting wiki/Troubleshooting
Code Map wiki/Code-Map

Author

Developed by IW1GEU, member of the XLX585 group.

About

SVX Reflector Dashboard. A full stack of svxreflector, svxlinks for unlimited bridges and a nice realtime dashboard. Ongoing development.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors