compose: opt-in trunk-recorder service + supervisor and uploadScript (node-26#45)

robotastic/trunk-recorder:5.2.1 pinned by digest, behind the
trunk-recorder compose profile, host network, /dev/bus/usb. run.sh
restarts TR when the edge-node rewrites config.json and reports state
for health; drb-upload.sh hands each finished call (wav, then json) to
recordings/tr-inbox. README carries the GPL-3.0 source note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Logan Cusano
2026-10-28 00:21:40 -04:00
co-authored by Claude Opus 5.5
parent fa3eac3b28
commit c9f162a508
5 changed files with 195 additions and 0 deletions
+17
View File
@@ -108,6 +108,23 @@ UPLOAD_SPOOL_MAX_AGE_HOURS=72
UPLOAD_RETRY_MIN_SECONDS=15
UPLOAD_RETRY_MAX_SECONDS=600
# --- Recorder backend (node-26#45) -------------------------------------------
# op25 (default): OP25 + PulseAudio recorder, one call at a time.
# trunk-recorder: Trunk Recorder records every talkgroup at once, with call
# boundaries from the decoder. Set BOTH lines below to switch; OP25 is then
# never started (it would hold the SDR), and the live browser stream (Icecast)
# goes quiet — Discord live audio keeps working.
RECORDER_BACKEND=op25
# COMPOSE_PROFILES=trunk-recorder
# Trunk Recorder SDR settings (only read with RECORDER_BACKEND=trunk-recorder).
# TR_SAMPLE_RATE=2400000
# TR_GAIN=34
# TR_CENTER_HZ= # override the computed centre frequency
# TR_DIGITAL_RECORDERS=4 # simultaneous voice channels on a trunked system
# TR_MIN_DURATION=1.0 # seconds; shorter calls are dropped by TR
# TR_SQUELCH_DB=-50 # conventional channels; absolute dB, tune per site
# TR_LIVE_PORT=9123 # local UDP port for simplestream -> Discord
# OP25 container (usually no need to change)
OP25_API_URL=http://localhost:8001
OP25_TERMINAL_URL=http://localhost:8081