# RMS Software RMS Software is a generic remote-station control platform with a web UI, passwordless authentication, plugin-based hardware integration, and OpenWebRX+ orchestration. This repository is intentionally station-agnostic. Site-specific deployment, host bindings, and operational overrides belong in a separate deployment repository. ## Core Features - Passwordless auth via email link and OTP methods - JWT access/refresh session model with role-based permissions - Plugin runtime with capability provider switching - OpenWebRX+ session/ticket integration and managed band/profile support - Station lifecycle controls (activate/deactivate, ownership, safety locks) - Rotor, RF route, TX/PTT and VSWR integration via plugins - Activity/audit logs and SSE event stream for live UI updates ## Quick Start 1. Copy `.env.example` to `.env`. 2. Install dependencies: ```bash npm ci ``` 3. Start development mode: ```bash npm run dev ``` 4. Open `http://localhost:8080`. ## Plugin Overview Auth - `rms.auth.smtp_relay`: email link challenge delivery through SMTP relay - `rms.auth.otp_email`: OTP challenge delivery through email Station & Access - `rms.station.shell`: station activation/deactivation command execution - `rms.station.access.policy`: export effective access list for OpenWebRX policies OpenWebRX+ - `rms.openwebrx.bandmap`: managed band/profile integration - `rms.openwebrx.guard`: OpenWebRX safety and consistency guard TX/PTT/Audio - `rms.tx.control.native`: native TX on/off command provider - `rms.tx.state.file`: file-based TX state provider - `rms.tx.audio.core`: core TX audio session management - `rms.microham`: microHAM provider for PTT/audio related capabilities RF/Hardware - `rms.rfroute.shell`: RF route switching via shell commands - `rms.rotor.hamlib`: rotor control via hamlib/rotctl VSWR - `rms.vswr.native`: native VSWR command provider - `rms.vswr.nanovna`: NanoVNA-based VSWR provider - `rms.vswr.report_reader`: reads and serves VSWR report artifacts Ops/Help - `rms.debug.remote`: remote debug snapshot/log provider - `rms.help.basic`: basic UI help content provider ## Repository Boundaries This repository contains: - generic software source (`server`, `public`, `plugins`) - generic defaults (`.env.example`) This repository does not contain: - station-specific hostnames, hardware paths, or production secrets - deployment overlays for specific stations Recommended layering for deployments: 1. RMS Software defaults 2. Station-specific overlay repository 3. Server environment variables (highest priority) ## License GPL-3.0-only. See `LICENSE`.