Files

44 lines
1.8 KiB
YAML

# Local GeuReflector 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,
# set ENABLE_FM_LINK=1, recreate. Satellite mode is outbound-only (no DNS/inbound).
services:
svxreflector:
build:
context: .
dockerfile: Dockerfile
args:
GIT_URL: https://github.com/audric/GeuReflector.git
GIT_BRANCH: master
# Pin (overrides the branch clone). master on 2026-10-11; release line v1.3.17.
GIT_REF: dbad88e8c3e0f1adb8342db190bb0b3ad00106f4
image: funknetz-geureflector:local
container_name: funknetz-svxreflector
restart: unless-stopped
env_file:
- .env
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}
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/pki:/etc/svxlink/pki