# 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