Files
ARCG-Remote-Station-Software/README.md
OE6DXD e1a4ce0b8b initialize generic rms-software repository
Add the reusable RMS core application (server, web UI, plugins, tests, tools) with generic defaults, GPL licensing, and maintainer context documentation so deployments can consume this repo as software source independent of station-specific overlays.
2026-03-16 03:31:08 +01:00

85 lines
2.6 KiB
Markdown

# 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`.