SvxLink is an open-source software suite designed for the amateur radio (ham radio) community.
Originally started in 2003 as an EchoLink application for Linux, SvxLink has evolved into a powerful and flexible system supporting:
- FM repeaters
- Remote transceivers
- Reflectors
- Voice services and logic scripting
This repository provides a Docker-based setup to simplify building, configuring, and running SvxLink in a clean, reproducible environment.
✅ Compatible with Debian Trixie
✅ Supports GPIOD-based GPIO management
- Easy deployment using Docker and Docker Compose
- Run SvxLink, RemoteTrx, and/or SvxReflector from a single image
- Flexible configuration using volumes
- Environment variables to control startup behavior
- Ideal for Raspberry Pi, mini PCs, or servers
- Linux host (Debian recommended)
- Docker
- Docker Compose (v2)
If Docker is not already installed on your system, install it using the official script:
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.shVerify installation:
docker --version
docker compose versiongit clone https://github.com/f4hlv/svxlink-docker.git
cd svxlink-dockerEdit docker-compose.yml to match your needs, then start the container:
If you want to extract the original SvxLink configuration and data files from the container:
mkdir -p config/etc config/usr/share
docker compose cp svxlink:/etc/svxlink config/etc/
docker compose cp svxlink:/usr/share/svxlink config/usr/share/This is useful as a starting point for customization.
docker compose up -dDisplay the last 500 log lines and follow output in real time:
docker compose logs -f --tail=500To rebuild the image from scratch and restart the container:
docker compose build --no-cache
docker compose up -dSvxLink configuration is managed using Docker volumes.
Edit or add files inside the /config directory.
You may override only the files you need or mount full directories.
Example for svxlink.conf:
./svxlink.conf:/etc/svxlink/svxlink.conf./config/etc/svxlink:/etc/svxlink
./config/usr/share/svxlink:/usr/share/svxlinkEnvironment variables allow you to choose which services start and which configuration files are used.
Set the value to 1 to enable, 0 to disable:
START_SVXLINK=1
START_REMOTETRX=0
START_SVXREFLECTOR=0SVXLINK_CONF=/etc/svxlink/svxlink.conf
REMOTETRX_CONF=/etc/svxlink/remotetrx.conf
SVXREFLECTOR_CONF=/etc/svxlink/svxreflector.confExample for svxlink
SVXLINK_ARGS=--logfile=/var/log/svxlink/svxlink.log- Make sure your audio devices and GPIO access are properly configured on the host
- Running on Raspberry Pi may require additional permissions (
--device,--privileged, or udev rules) - This setup is intended for experienced amateur radio operators
SvxLink is licensed under the GPL.
This Docker setup follows the same spirit of openness and reuse.
Docker setup maintained by F4HLV
Contributions and pull requests are welcome 🚀