Files
drb-c2-core/readme.md
2025-12-28 14:07:26 -05:00

36 lines
1.2 KiB
Markdown

# radio-edge-node
This repository contains the containerized supervisor and OP25 instance for the SDR nodes. It manages the local RF workload and synchronizes state with the central C2 via MQTT.
## 1. Directory Structure
```
radio-edge-node/
├── app/
│ ├── main.py # Entry point & MQTT Startup
│ ├── routers/ # FastAPI Routes (op25_controller.py)
│ ├── internal/ # Business Logic (config_utils, logger, etc.)
│ └── models/ # Pydantic Schemas
├── configs/ # Persistent Volume for active.cfg.json
├── Dockerfile
├── docker-entrypoint.sh
└── docker-compose.yml
```
## 2. Supervisor Logic
The supervisor performs three main tasks:
- **MQTT Phone-Home**: On startup, it sends the Check-In packet to the C2.
- **Process Management**: It wraps the OP25 multi_rx process. If the process dies, the supervisor can report the failure via MQTT.
- **Metadata Tailing**: (Planned) Tailing the OP25 stderr/stdout to extract real-time talkgroup grants for the C2 metadata bus.
## 3. Deployment
Set your .env variables (NODE_ID, MQTT_BROKER, etc.)
```bash
docker-compose up --build -d
```