Debian/Ubuntu package repository for Ham Radio software, hosted on GitHub Pages.
- Web: https://deb.pistar.uk
- Repository: https://deb.pistar.uk/
| Package | Description | Components | Upstream |
|---|---|---|---|
| mmdvmhost | MMDVM Host Software & Calibration Tool | MMDVMHost, MMDVMCal, RemoteCommand | MMDVMHost & MMDVMCal |
| dstarrepeater | D-Star Repeater Controller | dstarrepeaterd, dstarrepeaterconfig | DStarRepeater |
| Package | Description | Components | Upstream |
|---|---|---|---|
| dmrclients | DMR Gateway and Cross-Mode converters | DMRGateway, DMR2YSF, DMR2NXDN | DMRGateway & MMDVM_CM |
| dstarclients | D-Star Gateway and tools | DStarGateway, dgwtimeserver, dgwtexttransmit, dgwvoicetransmit | DStarGateway |
| ysfclients | YSF Gateway, Parrot, DGId Gateway and Cross-Mode converters | YSFGateway, YSFParrot, DGIdGateway, YSF2DMR, YSF2NXDN, YSF2P25 | YSFClients & MMDVM_CM |
| nxdnclients | NXDN Gateway, Parrot and Cross-Mode converter | NXDNGateway, NXDNParrot, NXDN2DMR | NXDNClients & MMDVM_CM |
| p25clients | P25 Gateway and Parrot | P25Gateway, P25Parrot | P25Clients |
| pocsagclients | POCSAG/DAPNET Gateway for paging | DAPNETGateway | DAPNETGateway |
| fmclients | FM Gateway for analog-to-digital bridging | FMGateway | FMGateway |
| aprsclients | APRS Gateway between APRS-IS and RF | APRSGateway | APRSGateway |
- Debian 13 "Trixie" (stable)
- Debian 12 "Bookworm" (oldstable)
- Ubuntu 25.10 "Questing Quokka" (use bookworm packages)
- Ubuntu 25.04 "Plucky Puffin" (use bookworm packages)
- Ubuntu 24.04 LTS "Noble" (use bookworm packages)
- Ubuntu 22.04 LTS "Jammy" (use bookworm packages)
- Raspberry Pi OS (Current - based on Trixie, use trixie packages)
- Raspberry Pi OS (Legacy - based on Bookworm, use bookworm packages)
amd64- 64-bit Intel/AMDarm64- 64-bit ARM (Raspberry Pi 3/4/5 64-bit OS)armhf- 32-bit ARM (Raspberry Pi, ARMv7)
Add the repository and install packages on your Debian/Ubuntu system:
# Add GPG key
wget -qO - https://deb.pistar.uk/hamradio.gpg | sudo gpg --dearmor -o /usr/share/keyrings/hamradio.gpg
# Add repository (choose your Debian version)
# For Debian 13 (Trixie) / Raspberry Pi OS (Current)
echo "deb [signed-by=/usr/share/keyrings/hamradio.gpg] https://deb.pistar.uk/ trixie main" | sudo tee /etc/apt/sources.list.d/hamradio.list
# For Debian 12 (Bookworm) / Ubuntu 22.04-25.10 / Raspberry Pi OS (Legacy)
echo "deb [signed-by=/usr/share/keyrings/hamradio.gpg] https://deb.pistar.uk/ bookworm main" | sudo tee /etc/apt/sources.list.d/hamradio.list
# Update and install
sudo apt update
sudo apt install mmdvmhost dmrclients ysfclientsAll packages store configuration in package-specific directories:
# Configuration files location
/etc/mmdvmhost/ # MMDVM Host configuration
/etc/dmrclients/ # DMR Gateway and cross-mode configs
/etc/ysfclients/ # YSF Gateway, DGId, and cross-mode configs
/etc/dstarclients/ # D-Star gateway configs
/etc/dstarrepeater/ # D-Star repeater configuration
/etc/nxdnclients/ # NXDN gateway and cross-mode configs
/etc/p25clients/ # P25 gateway config
/etc/aprsclients/ # APRS gateway config
/etc/pocsagclients/ # DAPNET gateway config
/etc/fmclients/ # FM gateway config
# Example: Configure MMDVM Host
sudo cp /etc/mmdvmhost/MMDVMHost.ini.example /etc/mmdvmhost/MMDVMHost.ini
sudo nano /etc/mmdvmhost/MMDVMHost.ini
# Example: Configure DMR Gateway
sudo cp /etc/dmrclients/DMRGateway.ini.example /etc/dmrclients/DMRGateway.ini
sudo nano /etc/dmrclients/DMRGateway.ini
# Example: Configure D-Star Repeater
sudo cp /etc/dstarrepeater/dstarrepeater.conf.example /etc/dstarrepeater/dstarrepeater.conf
sudo nano /etc/dstarrepeater/dstarrepeater.confServices are managed via systemd:
# Start services
sudo systemctl start mmdvmhost # MMDVM Host
sudo systemctl start dmrgateway # DMR Gateway
sudo systemctl start ysfgateway # YSF Gateway
sudo systemctl start dstargateway # D-Star Gateway
sudo systemctl start dstarrepeater # D-Star Repeater Controller
sudo systemctl start nxdngateway # NXDN Gateway
sudo systemctl start p25gateway # P25 Gateway
sudo systemctl start aprsgateway # APRS Gateway
sudo systemctl start dapnetgateway # DAPNET/POCSAG Gateway
# Enable at boot
sudo systemctl enable mmdvmhost
sudo systemctl enable dmrgateway
sudo systemctl enable ysfgateway
sudo systemctl enable dstarrepeater
# Check status
sudo systemctl status mmdvmhostPackages are built using GitHub Actions. To trigger a build:
- Go to Actions
- Select "Build Debian Packages" workflow
- Click "Run workflow"
- Select options:
- Package: Choose specific package or "all"
- Debian Version: Choose specific version or "all"
- Click "Run workflow"
The build process:
- Clones source from upstream git repositories
- Builds for all architectures using Docker and QEMU
- Creates DEB packages following Debian standards
- Generates repository metadata (Packages, Release files)
- Deploys to GitHub Pages
The repository can monitor upstream repositories for changes and automatically rebuild packages when updates are detected (workflow available but not scheduled by default).
Packages use date-based versioning with git commit tracking:
- Format:
YYYY.MM.DD-r{revision} - Example:
2025.01.02-r1 - Git commit hash is embedded in the package description
The repository uses GPG signing for security:
- Public Key: https://deb.pistar.uk/hamradio.gpg
- Key Location:
/usr/share/keyrings/hamradio.gpg
All repository metadata (Release files) can be signed with GPG for APT secure verification.
MMDVM_DEB/
βββ .github/workflows/ # GitHub Actions workflows
β βββ build-debian-packages.yml
β βββ check-upstream-updates.yml
β βββ cleanup-old-packages.yml
βββ packages/ # Package definitions
β βββ mmdvmhost/
β βββ dmrclients/ # DMRGateway, DMR2YSF, DMR2NXDN
β βββ dstarclients/ # DStarGateway and tools
β βββ dstarrepeater/ # D-Star Repeater Controller
β βββ ysfclients/ # YSFGateway, YSFParrot, DGIdGateway, YSF2*
β βββ nxdnclients/ # NXDNGateway, NXDNParrot, NXDN2DMR
β βββ p25clients/ # P25Gateway, P25Parrot
β βββ pocsagclients/ # DAPNETGateway
β βββ fmclients/ # FMGateway
β βββ aprsclients/ # APRSGateway
β βββ build.sh # Build script
β βββ source.conf # Source configuration
βββ keys/ # GPG public key
βββ scripts/ # Build and maintenance scripts
βββ docs/ # Documentation
βββ deploy/ # GitHub Pages deployment (auto-generated)
βββ index.html # Repository landing page
βββ dists/ # APT repository structure
β βββ bookworm/
β βββ trixie/
βββ pool/ # Package pool
βββ main/
The repository follows Debian packaging conventions:
- Protocol-specific clients:
dmrclients,dstarclients,ysfclients,nxdnclients,p25clients- Each contains the main gateway, parrot/test tools, and cross-mode converters where applicable
- Core software:
mmdvmhost- The main MMDVM host software with calibration tools - Repeater controller:
dstarrepeater- D-Star repeater system - Single-purpose clients:
aprsclients,pocsagclients,fmclients
- Create package directory:
packages/{package_name}/ - Add
build.shscript with build instructions - Add
source.confwith source repository information - Test locally with Docker
- Commit and run workflow
See docs/CONTRIBUTING.md for detailed instructions.
Test builds locally using Docker:
# Clone repository
git clone https://github.com/MW0MWZ/MMDVM_DEB.git
cd MMDVM_DEB
# Test build (requires Docker)
cd packages/mmdvmhost
OUTPUT_DIR=./output ARCH=amd64 DEBIAN_VERSION=bookworm ./build.sh
# Check output
ls -la output/- Building Packages - Detailed build process
- Package Signing - GPG signing details
- Contributing - How to contribute
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add your package following the guidelines
- Submit a pull request
All packages must be Ham Radio related and build from source.
- Repository infrastructure: MIT License
- Individual packages maintain their upstream licenses
- Most packages: GPL-2.0-or-later
MW0MWZ - andy@mw0mwz.co.uk
- Repository: https://github.com/MW0MWZ/MMDVM_DEB
- Issues: https://github.com/MW0MWZ/MMDVM_DEB/issues
- Web Interface: https://deb.pistar.uk
- Sister APK Repository: https://apk.pistar.uk
Built with β€οΈ for the Amateur Radio community by Andy Taylor (MW0MWZ)