Switch the lab reflector to jayReflector and harden local station use.

Build DJ1JAY’s fork with an optional Satellite/Trunk stub, allow -c/--config, open capture and playback as separate devices, and add a lab start helper.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-07 12:14:41 +02:00
co-authored by Cursor
parent f90b6150f3
commit f8cad55e9c
24 changed files with 847 additions and 225 deletions
+19 -9
View File
@@ -1,6 +1,9 @@
# Local SvxReflector lab for Funknetz.
# Build once, then: docker compose up -d
# Local jayReflector lab for Funknetz.
# Build once, then: docker compose up -d --build
# Connect the app with host/port/callsign/authKey from .env (see FUNKNETZ_*).
#
# FM-Funknetz link (optional): fill config/svxreflector.link.conf from DJ1JAY,
# set ENABLE_FM_LINK=1, recreate. Satellite mode is outbound-only (no DNS/inbound).
services:
svxreflector:
@@ -8,9 +11,11 @@ services:
context: .
dockerfile: Dockerfile
args:
GIT_URL: https://github.com/sm0svx/svxlink.git
GIT_BRANCH: master
image: funknetz-svxreflector:local
GIT_URL: https://github.com/dj1jay/jayReflector.git
GIT_BRANCH: main
# Optional pin (overrides branch clone when set), e.g.:
# GIT_REF: 50997ed21a37c7c05c132eca5ebb07bab4b80fc7
image: funknetz-jayreflector:local
container_name: funknetz-svxreflector
restart: unless-stopped
env_file:
@@ -18,16 +23,21 @@ services:
ports:
# Host LISTEN_PORT → container 5300 (must match config/svxreflector.conf).
# Control is TCP; audio and UDP keepalives use the same number.
# Satellite uplink uses outbound TCP 5303 — not published here.
- "${LISTEN_PORT:-5300}:5300/tcp"
- "${LISTEN_PORT:-5300}:5300/udp"
# Optional HTTP /status when HTTP_SRV_PORT=8080 is set in conf:
# - "8080:8080/tcp"
# Trunk peer only (not needed for Satellite):
# - "5302:5302/tcp"
environment:
TZ: ${TZ:-Europe/Berlin}
START_SVXLINK: ${START_SVXLINK:-0}
START_REMOTETRX: ${START_REMOTETRX:-0}
START_SVXREFLECTOR: ${START_SVXREFLECTOR:-1}
ENABLE_FM_LINK: ${ENABLE_FM_LINK:-0}
SVXREFLECTOR_CONF: ${SVXREFLECTOR_CONF:-/etc/svxlink/svxreflector.conf}
SVXREFLECTOR_LINK_CONF: ${SVXREFLECTOR_LINK_CONF:-/etc/svxlink/svxreflector.link.conf}
SVXREFLECTOR_ARGS: ${SVXREFLECTOR_ARGS:-}
volumes:
- ./config/svxreflector.conf:/etc/svxlink/svxreflector.conf:ro
- ./config/svxreflector.link.conf:/etc/svxlink/svxreflector.link.conf:ro
- ./logs:/var/log/svxlink
- ./data:/var/lib/svxlink
- ./data/pki:/etc/svxlink/pki