About
This dashboard is a Rails web application that monitors and controls the
SVXReflector 585 amateur-radio reflector in real time. It is built and
glued together from the projects below.
Technologies
Backend & runtime
- Ruby on Rails
- Puma (web server)
- SQLite (primary database)
- Redis (ActionCable adapter, snapshot cache, audio pub/sub)
- Solid Queue (background jobs)
- ActiveStorage (uploaded images)
Realtime & frontend
- ActionCable / WebSockets
- Hotwire — Turbo + Stimulus
- HAML templates
- Tailwind CSS
- Leaflet.js (interactive map)
- Cytoscape.js (topology graph)
- Toast UI Editor (Markdown editor)
- Bootstrap Icons
- Kramdown (Markdown rendering)
Authentication
- bcrypt (password hashing)
- OmniAuth + Google OAuth 2
Audio bridges (Go)
- SVXReflector V2 protocol (TCP + UDP)
- OPUS, Codec2, AMBE, IMBE, GSM, μLaw, A-law, G.726
- PJSIP (SIP / RTP transport for the SIP bridge)
- IAX2 (AllStar and generic Asterisk bridges)
Reflector & transport
- GeuReflector — extended fork of
svxreflector
- Eclipse Mosquitto (MQTT broker for reflector events)
Infrastructure
- Docker / Docker Compose
- Caddy (reverse proxy with automatic TLS)
Project repositories
The three components below are maintained by the same author and form the
complete stack behind SVX 585:
Upstream credit
GeuReflector builds on the SvxLink
project by SM0SVX and contributors — the original svxreflector daemon
and protocol it extends.